Urgent!Poor performance in Entity beans
we're using Weblogic 5.1, Oracle 8i.(both installed in Solaris 5.8) We
found that the performance of our entity beans is poor, the reason we
guess is because when we issue a select statement, the jdbc, at the same
time, issue a update statement, that's why the response time is slow.
(By the way,we use oracle thin driver to connect.)
I know we can set autocommit to false but our beans are cmp,so we can't
set properties in connection pool.What can we do then?Can we set any
transaction attributes in our ejb,so we can solve our problem?
Thx!
Pete
A few issues with the linked article:
" 1. Where ever possible, using Entity bean with CMP over Entity bean with BMP, will ensure increase in performance... Tuned CMP entity beans offer better performance than BMP entity beans."
Bull. Every time I have seen some statement like the above it has never contained any associated proof nor explaination of how a container vendor's code can interact with a DB any better than mine.
The only means by which a container vendor can generically improve the performance of DB interactivity is to not do it, namely by caching the data and monitoring modification. This is rarely used due to mitigating factors such as any case where the container does not have sole access and omniscience over the DB.
"Moving towards the CMP based approach provides database independence since it does not contain any database storage APIs within it."
Ahh yes, lets trade in EJB container independence for database independence. It's interesting that the biggest proponents of CMP (and the ones who pushed it into the spec) are the biggest container vendors. Database storage APIs??? Perhaps JDBC and "select * from USER where..." are somehow viewed as database specific.
Similar Messages
-
Urgent: Can't lookup entity bean
Dear all,
I define a business process in workflow engine, which invoke a java class to get
DB data through CMP entity bean. The entity bean was packed in to a ear and was
workable/callable within the same ear.
However, when the workflow engine can't invoke the entity bean, the workflow engine
always throw exception as following.
javax.naming.LinkException: . Root exception is javax.naming.NameNotFoundException:
Unable to resolve 'app/ejb/ConsignmentEntityBean.jar#Consignments/local-home'
Resolved: 'app/ejb' Unresolved:'ConsignmentEntityBean.jar#Consignments' ; remaining
name 'ConsignmentEntityBean.jar#Consignments/local-home'
I think the problem may occur in deployment/configuration. Since the problem is
very urgent, anyone can help me? To all developers, How do you package/deploy
Entity Bean in Integration Server?
Thx,
PhilipI solved this.
Since I was testing the action code only, I didn't define a navigation entry corresponding to the action string returned for this button:
<h:commandButton value="Add" style="height:21px; width:51px;font-size:8pt; font-color: black;" action="#{resourceBean.addAction}">
</h:commandButton>After I added a nav definition, it worked. I don't know why at this point. I suspect a key step in the lifecycle was pre-empted...someone else can probably explain why. If I get a chance to research it after I'm done with my project, I'll update this post.
Thanks.
-L -
Performance with entity bean... What am i doing wrong??
hello,
My configuration:
Development = OC4J 10g 9.0.4.0.0 standalone
Production = Oracle IAS 10g 9.0.4
JBoss version = 4.0.3 SP1
I have an application using CMP Entity beans. My architecture uses Stateless session bean to access to the entities and values objects to transfer the data.
One of this entity beans has the following parameters:
id : NUMBER(20)
name : VARCHAR(255)
data : BLOB
2 values objects are used to access the entity bean:
MyLightValueObject with parameters: id and name
MyValueObject with parameters: id, name and data
The method findAll of my stateless session bean takes about 255 ms when there are 50 objects in the database under JBoss, but takes more than 10 seconds when deployed on OC4J.
<pre>
public java.util.Collection findAll() throws javax.ejb.FinderException,
javax.naming.NamingException {
// This statement takes about 200 millisonds on either server.
java.util.Collection selected = getLocalHome().findAll();
// The access to light value object took 10 seconds under OC4J !
ArrayList retval = new ArrayList(selected.size());
for (Iterator i = selected.iterator(); i.hasNext();) {
retval.add(((ClauseLocal) i.next()).getClauseLightValue());
return retval;
</pre>
I tried the following link already :
http://download-west.oracle.com/docs/cd/B10464_02/core.904/b10379/optj2ee.htm#sthref529
However, when I redeploy my ear on the server, whatever the options specified on the entity-deployement tag, the server reset his default options. Moreover, the locking_mode attribute is not specified in the DTD.
Could you please help me.... Thanks for your comprehension.To install Firefox from the Android Market web site, you must be logged in to the web site and your phone using the same Google account. If that doesn't work, you can follow the instructions here for other ways to install Firefox for Android: https://wiki.mozilla.org/Mobile/Platforms/Android
-
Poor performance of CMP entity bean finder that uses unicode notation N''
I am using Weblogic 6.1 with SQL Server 2000. I have an entity bean
with a finder method that does a lookup based on a (indexed) varchar
field. I noticed during testing that the performance of this finder
method was much worse than other finders. I did some profiling of the
SQL calls going from the Weblogic container to the database, and
noticed that the query generated for the finder call used the unicode
notation, which seems to result in very poor performance. If you run
the following two queries through SQL Analyzer (or SQL Profiler),
you'll notice a significant performance hit on the query that uses the
unicode notation:
example of generated SQL:
SELECT WL0.field1, WL0.field2 ... FROM tblAccount WL0 WHERE
WL0.accountId = N'40879'
example of desired SQL:
SELECT WL0.field1, WL0.field2 ... FROM tblAccount WL0 WHERE
WL0.accountId = '40879'
Is there any way to force it to generate the SQL without using the
notation with the unicode 'N'?
Thanks for any help,
DonDon wrote:
That worked (we use the Weblogic JDBC driver). The performance is MUCH
better! Glad to help.
Is there some place in the documentation where I should have
seen this (ie. where can I find the documentation on other possibly
useful connection properties)?It should be documented in the jdbc driver documents...
Joe
>
Thanks,
Don Tranquillo
Joe Weinstein wrote:
Hi. The driver does this to ensure that any 16-bit character string
that Java has,
is absorbed unaltered into the DBMS. There is no way to know a-priori
whether
the DBMS needs/wants an nvarchar datum or an 8-bit varchar datum. As
you see,
there is a big performance issue. You can tell the jdbc driver to
send data
as 8-bit (without the "N'" prefix) by setting a connection property:
If you are using the weblogic mssqlserver driver, add the
useVarChars=true
property. If you are using the MS free driver or the DataDirect driver,
add a property sendStringParametersAsUnicode=false.
Joe
Don wrote:
I am using Weblogic 6.1 with SQL Server 2000. I have an entity bean
with a finder method that does a lookup based on a (indexed) varchar
field. I noticed during testing that the performance of this finder
method was much worse than other finders. I did some profiling of the
SQL calls going from the Weblogic container to the database, and
noticed that the query generated for the finder call used the unicode
notation, which seems to result in very poor performance. If you run
the following two queries through SQL Analyzer (or SQL Profiler),
you'll notice a significant performance hit on the query that uses the
unicode notation:
example of generated SQL:
SELECT WL0.field1, WL0.field2 ... FROM tblAccount WL0 WHERE
WL0.accountId = N'40879'
example of desired SQL:
SELECT WL0.field1, WL0.field2 ... FROM tblAccount WL0 WHERE
WL0.accountId = '40879'
Is there any way to force it to generate the SQL without using the
notation with the unicode 'N'?
Thanks for any help,
Don -
Bad Performance/OutOfMemory Error in CMP Entity Bean with Large DB
Hello:
I have an CMP Entity deployed on WLS 7.0
The entity bean maps to a table that has 97,480 records.
It has a finder: findAll() -- SELECT OBJECT(e) FROM Equipment e
I have a JSP client that invokes the findALL()
The performance is very poor ~ 150 seconds just to perform the findAll() - (Benchmark
from within the JSP code)
If more than one simultaneous call is made then I get outOfMemory Error.
WLS is started with max memory of 512MB
EJB is deployed with <max-beans-in-cache>100000</max-beans-in-cache>
(without max-beans-in-cache directive the performance is worse)
Is there any documentation available to help us in deploying CMP Entity Beans
with very large number of records (instances) ?
Any help is greatly appreciated.
Regards
RajanHi
You should use a Select Method, it does support cursors.
Or a Home Select Method combination.
Regards
Thomas
WLS is started with max memory of 512MB
EJB is deployed with <max-beans-in-cache>100000</max-beans-in-cache>>
(without max-beans-in-cache directive the performance is worse)>
Is there any documentation available to help us in deploying CMP
Entity Beans with very large number of records (instances) ? Any help
is greatly appreciated.>
Regards>
Rajan>
>
"Rajan Jena" <[email protected]> schrieb im Newsbeitrag
news:3dadd7d1$[email protected]..
>
Hello:
I have an CMP Entity deployed on WLS 7.0
The entity bean maps to a table that has 97,480 records.
It has a finder: findAll() -- SELECT OBJECT(e) FROM Equipment e
I have a JSP client that invokes the findALL()
The performance is very poor ~ 150 seconds just to perform the findAll() -(Benchmark
from within the JSP code)
If more than one simultaneous call is made then I get outOfMemory Error.
WLS is started with max memory of 512MB
EJB is deployed with <max-beans-in-cache>100000</max-beans-in-cache>
(without max-beans-in-cache directive the performance is worse)
Is there any documentation available to help us in deploying CMP EntityBeans
with very large number of records (instances) ?
Any help is greatly appreciated.
Regards
Rajan -
Report with entity beans - BIG performance problem
I have several EJBs (CMP entity beans).
I need to build a report using linked EJBs and show this report
to a user (so, updates are not needed - report is only for web page demonstration).
the problem is: such report is generated too slow.
I have ~100 records in table 'TestResult' and ~500 records in table 'TestObject'.
these tables are linked like this:
one testobject <--> many testresults
for each testresult I need to show a line with some info which should be retrieved
from bound EJBs (e.g. testresult-testobject-assigneduser-prioritylevel)
how to optimize such report generation?
I have heard something about session beans with Value Objects.
do I need to use such session beans here?
what is a general solution for generating reports using linked EJBs?
I tried to solve the problem by using DB View, but it didn't help.
I have used 'TestResultView' - info is retrieved fast enough from this view
(several msecs), but displaying this info is still very costly.
please, help!
Oracle 8.1.7,
WebLogic 6.1Hi,
because I have checked the time required to
1) retrieve EJBS (several msec)Let me share some of my views with you.Once you retrieve the EJBS ie ie the collection of remote interface from the finder method the container is firing single "select " query and gets all the primary keys back.
2) cycle through it - get fields and display them
(~4000 msec)Now the cycle of getting the value you are getting the bean from the PooledState to ready state which will get the fields by firing the "select" query (ejbload()). Now in the instance you are invoking the multiple methods and at the end it will remain there in ready till you call the remove which u are not doing so the time out will bring it back to the pooledstate.
And if you are calling the bean very frequently then all the instances will go to the ready state and the activation & passivation will start developing ......
So at the end when the bean moves back to the pooled state after timeout the ejbStore() fires the "update " query!!!!
Let us consider the activation/passivation not appearing for simple understanding !!!!!!!!
So for each iteration you are firing 2 queries to the database.So if you have 500 records then the queries generatted will be 1(select from finder)+2(1 by select(ejbload)+1 by update(ejbStore))*500. So the flow is calling 1001 queries ...Thus quering about 1000 queries will definetly take some time...
So what is the solution????
Any way you dont require to fire the update query as you are just viewing the data...So u can stop calling the ejbStore().
Hence you queries will drop to half.Now how we can do this is by using the BMP.....
The other solution is using the Sessionbean and store the data all 500 records in the Object which can be called across the n/w. This object should implements the Serializable interface and this tech is the Transfer Object feature.....
Hope you find this useful..
regards
Vicky -
URGENT: Migrating from SQL to Oracle results in very poor performance!
*** IMPORTANT, NEED YOUR HELP ***
Dear, I have a banking business solution from Windows/SQL Server 2000 to Sun Solaris/ORACLE 10g migrated. In the test environment everything was working fine. On the production system we have very poor DB performance. About 100 times slower than SQL Server 2000!
Environment at Customer Server Side:
Hardware: SUN Fire 4 CPU's, OS: Solaris 5.8, DB Oracle 8 and 10
Data Storage: Em2
DB access thru OCCI [Environment:OBJECT, Connection Pool, Create Connection]
Depending from older applications it's necessary to run ORACLE 8 as well on the same Server. Since we have running the new solution, which is using ORACLE 10, the listener for ORACLE 8 is frequently gone (or by someone killed?). The performance of the whole ORACLE 10 Environment is very poor. As a result of my analyse I figured out that the process to create a connection to the connection pool takes up to 14 seconds. Now I am wondering if it a problem to run different ORACLE versions on the same Server? The Customer has installed/created the new ORACLE 10 DB with the same user account (oracle) as the older version. To run the new solution we have to change the ORACLE environment settings manually. All hints/suggestions to solve this problem are welcome. Thanks in advance.
AntonOn the production system we have very poor DB performanceHave you identified the cause of the poor performance is not the queries and their plans being generated by the database?
Do you know if some of the queries appear to take more time than what it used to be on old system? Did you analyze such queries to see what might be the problem?
Are you running RBO or CBO?
if stats are generated, how are they generated and how often?
Did you see what autotrace and tkprof has to tell you about problem queries (if in fact such queries have been identified)?
http://download-west.oracle.com/docs/cd/B14117_01/server.101/b10752/sqltrace.htm#1052 -
Urgent: Entity Bean question
Hi,
I am using an entity beans to store and load records in a table. When I save records to the table I store them in an order of Primary key ID, but when loading the entity bean this order is not being preserved. Is there any way I can specify what the order (ascending or descending) the entiry bean needs to load records?
Thanks.Dunno what exactly are you asking.
I mean how are u making bulk entity bean save records?
What exactly is the purpose ?
Cheers,
manjunath -
Urgent help needed session calling remote interface entity bean Method -P
i deployed session and entity as seperatly
i didn't get the home interface object of entity bean
give the soultion for the
as i deployed in same jar file means
its workingHi,
hopefully I can help you.
1. There are few helper classes which has to be ...We have just the same constellation. We have put the HelperClasses in the
J2EE/home/lib dir, NOT specifying it in the application.xml. So everything works fine.
The only thing: never, again: never put these files within WEB-INF and the lib-dir.
With the HelperClasses in both we have only faced massive problems, mostly ClasCastExceptions.
We had once all the helperClasses within J2EE/home/applications/lib, but this requires to
specify this dir within the orion-application.xml within the appl dir in applications-deployment.
It also worked fine.
2. How can i utilise connection pooling in oc4j. In data-sources.xml, i am using ...I'm not sure of this, but I think, the container handles Connection Pooling, no matter what Factory you
specify. But I think, the Class hasn't to be OracleConnectionPool ... but I have to check this (right now
I have no access to our datasource.xml ..)
cu
ed -
Urgent - (session bean calling Entity bean )Help Need for me - Plzzzzzzzzzz
Hi
I am created two beans one is Entity bean another one is session . the two beans deployed using diffrent jar files
. I call the Entity bean methods using session bean
But i couldn't locate the entity bean Home object through session bean(
Sub is created but i couldn't get it that home obj stub)
i get the following error messgae CorbaBad Operation
i deployed two bean using same jar means my program is working
Help meeeeeeeI Send part of code to u
public String logic1(rsp.ejbbm.ex.studVO s) {
rsp.ejbbm.student.studentRemote r=null;
String id = null;
try {
System.out.println("sdfsdfsdfs");
Object obj = ctx.lookup("ejb/student");
System.out.println("Lookup Succeded ");
System.out.println("Object value" +obj.toString());
/// HERE I GOT THE ERRO I COULDn'T Locate IT
EJBHome obj1 =(EJBHome)javax.rmi.PortableRemoteObject.narrow(obj,rsp.ejbbm.student.studentHome.class);
System.out.println("Object value" +obj1.toString());
rsp.ejbbm.student.studentHome home=(rsp.ejbbm.student.studentHome)obj1;
//studentHome hom=(studentHome)ctx.lookup("ejb/student");
System.out.println("Object value" +obj.toString() );
System.out.println("Lookup Converted ");
home.create(s.getRollno(),s.getName());
System.out.println("student Record isInserted in Oracle ");
r= (rsp.ejbbm.student.studentRemote) home.findByPrimaryKey(s.getRollno());
System.out.println("Student 5555 Name is "+ r.getName());
id = r.getName();
catch(Exception e ){
System.out.println(e.toString());}
return id;
* @see javax.ejb.SessionSynchronization#afterBegin()
public void afterBegin() {
* @see javax.ejb.SessionSynchronization#afterCompletion(boolean)
public void afterCompletion(boolean committed) {
* @see javax.ejb.SessionSynchronization#beforeCompletion()
public void beforeCompletion() {
* See section 7.10.3 of the EJB 2.0 specification
public void ejbCreate() {
Properties p = new Properties();
p.put("java.naming.factory.initial", "com.sun.jndi.cosnaming.CNCtxFactory");
try{
ctx = new InitialContext(p);
catch(Exception e) {System.out.println("Create Exception "+e.toString());}
} -
Entity bean connection with SQL Server Error! urgent
Hi,
I am working with J2EE tutorial and when i tried SavingsAccount Entity bean to connect with SQL Server 2000(other than default Cloudscape)and I'm also having SQL Server 2K JDBC Driver installed. I also made entries in Server Configuration menu of J2EE deployment tool for this MS JDBC Driver for SQL Server 2K,I will enclose my dbName and connection method in the entity bean , but i am getting error like this.
my data base name in SQL Server 2K is 'rajeshrNew'.
private String dbName="java:comp/env/jdbc/rajeshrNew"; //dbName
private void makeConnection() throws NamingException, SQLException {
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup(dbName);
con = ds.getConnection();
and errors receiving are:
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.RemoteException: nested exception is: javax.ejb.EJBException: Unable to connect to database. No suitable driver; nested exception is:
javax.ejb.EJBException: Unable to connect to database. No suitable driver
java.rmi.RemoteException: nested exception is: javax.ejb.EJBException: Unable to connect to database. No suitable driver; nested exception is:
javax.ejb.EJBException: Unable to connect to database. No suitable driver
javax.ejb.EJBException: Unable to connect to database. No suitable driver <<no stack trace available>>
Please help me to resolve this problem!!
Regards
Rajesh Ryes i do create System DSN with rajeshrNew and my default.properties file look like this..
# maximum size of message driven bean instance
# pool per mdb type
messagebean.pool.size=3
# maximum size of a "bulk" message bean delivery
messagebean.max.serversessionmsgs=1
# message-bean container resource cleanup interval
messagebean.cleanup.interval=600
passivation.threshold.memory=128000000
idle.resource.threshold=600
log.directory=logs
log.output.file=output.log
log.error.file=error.log
log.event.file=event.log
distributed.transaction.recovery=false
transaction.timeout=0
transaction.nonXA.optimization=true
sessionbean.timeout=0
# validating parser values
# validating.perser is used when archive file are loaded by
# any of the J2EE Reference Implementation tools.
# deployment.validating.parser is used when deploying an
# archive on the J2EE AppServer.
validating.parser=false
deployment.validating.parser=true
now u tell me what i have to change..
with regards
Rajesh -
Updating Entity Bean (URGENT)
Hello,
I have an entity bean created in my jdeveloper based on a table in my database, I have added two colomns to my table how do I make my entity synchronize(update) with the database table and generate GET and SET methods for the(new colomns)in the altered table.
regards,
Hussam GalalEJB spec does not allow update of the primary key. Any other update should be fine.
Regards,
Marina -
To use Entity Bean or Oracle stored Package?
Currently, in my project, Weblogic8.1 and Oracle is used, but lots of business logic is implemented using Oracle stored Packages, many of these packages have a package level readonly lookup table(like index-by table or nested table), which is populated with data from database, once the package is called, and is accessed very often in subsequent calls of stored procedures.
Since, in Weblogic server, a connection pool is maintained, and those package level lookup tables would be stored as session data in oracle PGA, I'm afraid this might cause oracle database server to be overloaded.
to fully take advantage of middleware cache service that weblogic provide, should I move those business logic out of oracle and implement them using like read only entity bean?
any help appreciated!Its very hard to say without knowing the usage patterns of the data. It sounds like you have a lot of read-only entities. These could be spread around a WLS cluster, therefore there is more scalability and performance with this option. However, I would not neccessarily rewrite business logic from SP into EJB just for middle-tier caching.
If its a DB intensive app with lots of SQL, then if the calls are within SP's, there is only 1 call from WLS and the DBA ought o be able to tune the DB usin read-ahead and other DBA semantics. If there is locality of reference in the data, again, DB can use read-ahead better than WLS, although RO cache in middle is more scalable than DBMS.
I wouldnt rewrite business logic from SP to EJB/Entity beans to take advantage of cache, especially if there is no locality of read-only reference to data. Oracle could do this better in my opinion, especially if SP's already exist
Need for information on the usage patterns of the data - how is it CRUD'd.
I would use-case the steel threads and put them under test load to see if the SP's really are an issue, since this is an architecture decision. What state is the project at? Live/Dev? Inception? -
Multiple instances of the same entity bean?
I am designing a J2EE application that is made up of a number of separate components that each have a well-defined responsibility. Each component is made up of one or more J2EE components (web clients and EJBs). I want to design the application such that it is easy in the future to deploy each component (or a group of components) on different servers. In order to do this I need to make sure that the interfaces between each component are exposed as remote interfaces (but I will use local interfaces inside each component). However, there are a number of entity beans that need to be accessed by more than one component. I am wondering how best to expose these entity beans. I believe there are a number of options:
1. Expose remote interfaces on each of the shared entity beans. The disadvantage of this approach is that it is inefficient and that I will not be able to take advantage of container managed relationships. (I am intending to use container managed persistence.)
2. Create a facade object (stateful session bean) for each of the entity beans which exposes a remote interface and in turn accesses the shared entity beans locally. The disadvantage of this approach is that I have to create some extra EJBs and that I cannot directly make use of container managed relationships etc from the client component.
3. I don't know if this is an option but I am wondering whether I can deploy a copy of each shared entity bean with each application component. The advantage of this approach is that the component would access the entity locally and could make use of container managed relationships. However, I don't know what the issues are with having more than one instance (per primary-key) of an entity in the same application. I don't know whether this would cause errors of whether they would get out of sync (because different instances with the same primary key would be updated by different clients). Initially each component would be deployed in the same server but later they would be deployed in different servers. In both cases with this option each component (JAR) would have copies of the shared entity bean classes.
Any suggestions as to the best approach and whether the last option is feasible would be much appreciated.
Thanks.I think 2 beats 1. The main reason being to minimise the number of network calls. You're basically asking, are fascades a good idea? and the answer is yes.
You can obviously do 3 in different app servers. However you'll need to configure your app servers so they can handle the fact that they're not the only ones updating the database. This is to handle concurrency as you mentioned. How you do this will depend on your app server and will affect performance, but shouldn't be a problem.
I think you should definately decide up front what's going in different app servers, I dunno if 3 would work in the same app server.
Why do you would want to use multiple app servers?
Why not have everything in the same app?
Is is just the 1 database?
You can use clustering for scalability. -
How to load the existing data from the databse in the CMP entity bean?
hello
my problem is as follows--
i am creating a CMP entity bean.in these beans client create the data instances using create() function.
now a entity bean will be created for the newly created data and it's EJBObject will also be formed.
now we will be able to perform finder methods over them.
remember these data has been newly created in the database.
but now if i want to perform the finder methods on the
existing data in the database( i don't need to use create() fn as i am not "creating" the data.). how will i perform the query over the existing data.
basically i have to make a CMP bean to extract the data corresponding to a particular condition , from the database table. i don't want to create the data in the database but just find out what data satisfies my condition.
thanking you
Prashantyou have to use findByXXX methods. depending on your appserver you may have to declare them (and eventually the query you want to be used) in the vendor specific deploiement descriptor.
(e.g. using jboss i don't remember having explicitly declare the findBySomeField method - where someField is a persistent field - in the dd, whereas with bas all finder methods have to be explicitly declared)
[note that obviously these methods have to be present in your home interface]
Maybe you are looking for
-
Hi XP sp3 4gb ram Firefox 6.0.2 Firefox crashes every time I do any of the following. Then I have to force quit Fire fox. If i click a download link on a web page, Firefox freezes the instant I click the link ...but Firefox does not freeze if I click
-
Prompts are not working when we call another report from the narrative view
Hi, In my dashboard i need a table view report which should have scrolling option only for that section. For this i added a html tag <iframe ........scrolling="yes"> in the narrative view and i added that narrative view in the report. Now,it works fi
-
I'm playing DVDs created on DVDSP from a laptop to a flatscreen HDTV. Which is the best option quality-wise (there's no VGA input on the TV): S-Video Component (Can you even do component from a laptop?) Thanks, Jonathan
-
IPhoto "titles" and "comments"
Hey, I am making a slideshow in iDVD with a lot of pictures that im importing from iPhoto. My problem is that the names of the pictures (when I show "titles and comments") are too large and cover important parts of the image. I also noticed that the
-
Facebook keeps opening tabs on FF4 whether I'm on the site or not.
I keep getting a tab opening up on my browser (Firefox 4) from Facebook when I haven't signed on. It's usually not from an individual but from some organization or other – or occasionally a magazine. Just now a small window opened saying "To use Face