Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] Slow load time

I do have the eclipselink.jar file as a EAR utility jar.  It is not in the
individual war's.


mobrien wrote:
> 
> Khaskett,
>     Hi, just my small observation, but it looks like you may be 
> including the EclipseLink jar classes in your WAR.  Since we will search 
> for entities in all the classes/* files, this may be the cause of your 
> slowdown because you are doing a predeploy() on 100's of extra classes 
> unrelated to your application.
> 
> 
> 
>> 
>> It does this for all files in the persistence.xml even some eclipselink
>> files
>> \LineCPP\WebContent\WEB-INF\classes\org\eclipse\persistence\internal\expressions\QueryKeyExpression.class
>> 
> 
> 
>     I would recommend that you install EclipseLink as a shared library 
> that would be available to all your web projects at the higher websphere 
> server classpath level as a library.
>     See the following screen capture for WebLogic 6.1 that details how 
> to do this on the admin console by creating a shared library to 
> $server\lib\eclipselink.jar, depending on how high you want it, you may 
> need to deploy it to alternatively to $server\lib\ext\eclipselink.jar
> 
> http://wiki.eclipse.org/EclipseLink/Examples/JPA/WebSphere_Web_Tutorial#EclipseLink_JAR_location
> 
>     If you require a separate eclipselink.jar to be in the specific war 
> classpath of each application then I would move it up to a lib directory 
> off of WebContent outside of the JPA search path.
> 
>     hope this helps, thank you
>     /michael
>     www.eclipselink.org
> 
> 
> khaskett wrote:
>> I did start it up in debug mode and was able to get a stack trace of what
>> was
>> going on at that time looks like this - 
>> Daemon Thread [server.startup : 0] (Suspended)	
>> 	WinNTFileSystem.getBooleanAttributes(File) line: not available [native
>> method]	
>> 	File.exists() line: 731 [local variables unavailable]	
>> 	SinglePathClassProvider$1.run() line: 301 [local variables unavailable]	
>> 	AccessController.doPrivileged(PrivilegedAction) line: 63	
>> 	SinglePathClassProvider.getClassBytesFromDir(String,
>> ClassProviderListener)
>> line: 292	
>> 	SinglePathClassProvider.getClassBytes(String, ClassProviderListener)
>> line:
>> 283	
>> 	CompoundClassLoader.findClass(String, boolean) line: 547	
>> 	CompoundClassLoader.loadClass(String, boolean) line: 422	
>> 	CompoundClassLoader(ClassLoader).loadClass(String) line: 597	
>> 	Class<T>.forNameImpl(String, boolean, ClassLoader) line: not available
>> [native method]	
>> 	Class<T>.forName(String, boolean, ClassLoader) line: 163	
>> 	PrivilegedAccessHelper.getClassForName(String, boolean, ClassLoader)
>> line:
>> 86	
>> 	XMLEntityMappings.getClassForName(String, ClassLoader) line: 138	
>> 	XMLEntityMappings.getClassForName(String) line: 175	
>>
>> XMLEntityMappings.initPersistenceUnitClasses(HashMap<String,EntityAccessor>,
>> HashMap<String,EmbeddableAccessor>) line: 433	
>> 	MetadataProcessor.initPersistenceUnitClasses() line: 202	
>> 	MetadataProcessor.processEntityMappings() line: 425	
>> 	PersistenceUnitProcessor.processORMetadata(MetadataProcessor, boolean)
>> line: 299	
>> 	EntityManagerSetupImpl.predeploy(PersistenceUnitInfo, Map) line: 838	
>>
>> PersistenceProvider.createContainerEntityManagerFactory(PersistenceUnitInfo,
>> Map) line: 218	
>> 	JPAPUnitInfo.getFactory(Context) line: 1191	
>> 	JPAPxmlInfo.extractPersistenceUnits(JPAPXml, JPALooseConfig) line: 348	
>> 	JPAScopeInfo.processPersistenceUnit(JPAPXml, JPALooseConfig) line: 140	
>> 	JPAApplInfo.processModulePUs(DeployedModule) line: 169	
>> 	JPAComponentImpl.startingDeployedModule(DeployedModule) line: 780	
>> 	JPAComponentImpl.stateChanged(DeployedObjectEvent) line: 646	
>> 	ApplicationMgrImpl.stateChanged(DeployedObjectEvent) line: 1226	
>> 	DeployedApplicationImpl.fireDeployedObjectEvent(DeployedObjectEvent)
>> line:
>> 1148	
>> 	DeployedWARModuleImpl(DeployedModuleImpl).setState(DeployedObjectEvent)
>> line: 214	
>> 	DeployedWARModuleImpl(DeployedModuleImpl).start() line: 584	
>> 	DeployedApplicationImpl.start() line: 832	
>> 	ApplicationMgrImpl.startApplication(DeployedApplicationImpl) line: 921	
>> 	ApplicationMgrImpl$AppInitializer.run() line: 2124	
>> 	WsComponentImpl$_AsynchInitializer.run() line: 342	
>> 	ThreadPool$Worker.run() line: 1473	
>>
>> The odd thing about that is it is the process is looking for this file -
>> \LineCPP\WebContent\WEB-INF\classes\com\gmrc\jpa\domain\CpUserroleId.class
>>
>> But LineCPP is my WebProject 
>> and the CpUserroleId.class is in my JPA project
>> \CpsJPA\bin\com\gmrc\jpa\domain\CpUserroleId.class
>>
>> It does this for all files in the persistence.xml even some eclipselink
>> files
>> \LineCPP\WebContent\WEB-INF\classes\org\eclipse\persistence\internal\expressions\QueryKeyExpression.class
>>
>> I have 9 different WebProjects and I think it searches through all of
>> them.
>>
>> Any ideas on whats going on here?
>>
>>
>> James Sutherland wrote:
>>   
>>> Odd, it may not be this lines causing the hang though, it could be
>>> anything the occurs in between.  Try using a Java profiler such as
>>> JProfiler to determine where the bottleneck is.
>>>
>>>
>>>
>>> khaskett wrote:
>>>     
>>>> When I start up the server for the first time the load time is very
>>>> quick.  But then any subsequent restarts the start time degrades
>>>> quickly.
>>>> It seems to hang for several minutes on these two lines -
>>>>
>>>> [4/15/09 15:23:04:921 CDT] 00000019 SystemOut     O [EL Finer]:
>>>> 2009-04-15
>>>> 15:23:04.89--ServerSession(549331134)--Thread(Thread[server.startup :
>>>> 2,5,main])--Searching for default mapping file in
>>>> file:/C:/Projects/Grinnell/Source/Head/CpsJPA/bin/
>>>> [4/15/09 15:25:00:437 CDT] 00000019 SystemOut     O [EL Finer]:
>>>> 2009-04-15
>>>> 15:25:00.437--ServerSession(549331134)--Thread(Thread[server.startup :
>>>> 2,5,main])--Searching for default mapping file in
>>>> file:/C:/Projects/Grinnell/Source/Head/CpsJPA/bin/
>>>>
>>>> In my application I have two seperate JPA utility projects one for DB2
>>>> and the other for SQL Server. The each have their own Mapping file
>>>> listed
>>>> in the persistence.xml
>>>> <mapping-file>META-INF/cps-orm.xml</mapping-file>
>>>> and
>>>> <mapping-file>META-INF/sql-orm.xml</mapping-file>
>>>>
>>>> Running on Websphere 6.1.0.23 with EJB3 Feature Pack installed.
>>>>
>>>> Anything I can do to fix this?
>>>>
>>>>       
>>>     
>>
>>   
> 
> 
> _______________________________________________
> eclipselink-users mailing list
> eclipselink-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
> 
> 

-- 
View this message in context: http://www.nabble.com/Slow-load-time-tp23066607p23204505.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.



Back to the top