Hi Andrus,

I know we had discussed this before where I was using DB2 V9.x. The difference this time was with the error and the failure to even deploy and start the application at all the first time it was even loaded by tomcat. I dug around some more in the tomcat log files and now found this in the localhost log file which confirms that the issue was that the db2java.zip file was not being loaded.

Andrew

May 6, 2011 9:47:33 AM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter CayenneFilter
org.apache.cayenne.ConfigurationException: [v.3.0.1 Aug 25 2010 19:38:17] Error during Configuration initialization. [v.3.0.1 Aug 25 2010 19:38:17] Load failures. Main configuration class: org.apache.cayenne.conf.DefaultConfiguration, details: domain.node.name=SurveyNode, domain.node.datasource=SurveyNode.driver.xml, reason: DataSource load failed - Can not load JDBC driver named 'COM.ibm.db2.jdbc.net.DB2Driver': COM.ibm.db2.jdbc.net.DB2Driver at org.apache.cayenne.conf.Configuration.initializeSharedConfiguration(Configuration.java:168) at org.apache.cayenne.conf.ServletUtil.initializeSharedConfiguration(ServletUtil.java:83) at org.apache.cayenne.conf.WebApplicationContextFilter.init(WebApplicationContextFilter.java:59) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4071) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4725) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) at org.apache.catalina.core.StandardService.start(StandardService.java:525) at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.apache.cayenne.ConfigurationException: [v.3.0.1 Aug 25 2010 19:38:17] Load failures. Main configuration class: org.apache.cayenne.conf.DefaultConfiguration, details: domain.node.name=SurveyNode, domain.node.datasource=SurveyNode.driver.xml, reason: DataSource load failed - Can not load JDBC driver named 'COM.ibm.db2.jdbc.net.DB2Driver': COM.ibm.db2.jdbc.net.DB2Driver at org.apache.cayenne.conf.RuntimeLoadDelegate.finishedLoading(RuntimeLoadDelegate.java:489) at org.apache.cayenne.conf.ConfigLoader.loadDomains(ConfigLoader.java:79) at org.apache.cayenne.conf.DefaultConfiguration.initialize(DefaultConfiguration.java:152) at org.apache.cayenne.conf.Configuration.initializeSharedConfiguration(Configuration.java:159)
    ... 29 more


On 05/06/2011 10:23 AM, Andrus Adamchik wrote:
Hi Andrew,

It is odd that unrecognized driver could cause issues with Cayenne EventManager 
threads, so maybe the driver issue is separate?
The "memory leak" warning in Tomcat is often related to the app's failure to 
shutdown EventManager. Checking the archives, we discussed that before: 
http://markmail.org/message/3m2pxfunrfhzgxck

WebApplicationContextFilter was fixed in Cayenne 3.0.1 per 
https://issues.apache.org/jira/browse/CAY-1467 so it should no longer cause this message. 
Also if you are not using WebApplicationContextFilter and manage Cayenne stack yourself, 
you will need to take care of the EventManager shutdown in your code. E.g. check the 
"destroy" method here:

http://svn.apache.org/repos/asf/cayenne/main/tags/3.0.1/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/conf/WebApplicationContextFilter.java

Andrus


On May 6, 2011, at 5:08 PM, Andrew Willerding wrote:

I hope you don't mind me posting this here as hopefully this helps somebody 
else trying to deploy a web app under tomcat 6.0.32 using DB2 Version 7.  (I 
know it's old but I had no choice)

I was struggling to get the application to load and it was refusing to deploy 
at all.  I kept getting the errors listed below.

It turns out that the IBM "jar" library file db2java.zip must be renamed to 
db2java.jar for it to get loaded.  I believe that this is a tomcat issue and not a 
cayenne issue because when I loaded the library in the Cayenne Modeler, cayenne was able 
to access the database.


Andrew

SEVERE: The web application [/Survey] appears to have started a thread named [ca
yenne-edt-12217363-0] but has failed to stop it. This is very likely to create a
memory leak.
May 6, 2011 9:41:46 AM org.apache.catalina.loader.WebappClassLoader clearReferen
cesThreads
SEVERE: The web application [/Survey] appears to have started a thread named [ca
yenne-edt-12217363-1] but has failed to stop it. This is very likely to create a
memory leak.
May 6, 2011 9:41:46 AM org.apache.catalina.loader.WebappClassLoader clearReferen
cesThreads
SEVERE: The web application [/Survey] appears to have started a thread named [ca
yenne-edt-12217363-2] but has failed to stop it. This is very likely to create a
memory leak.
May 6, 2011 9:41:46 AM org.apache.catalina.loader.WebappClassLoader clearReferen
cesThreads
SEVERE: The web application [/Survey] appears to have started a thread named [ca
yenne-edt-12217363-3] but has failed to stop it. This is very likely to create a
memory leak.



--
Andrew Willerding
Callista CTI

  ph: 416 444-9702 x9455
  fx: 416 444-9732
cell: 416 712-2323
 www: http://www.callistacti.com

Reply via email to