1 Reply Latest reply on Sep 17, 2010 8:33 AM by rebody

    JBPM4.4 - tomcat 6.0.29

    frankbe

      Hi All,

       

      I think there is a small issue with the JBPM4.4 Tomcat installation. I just downloaded the latest JBPM version 4.4 and tried to install it by using the ant target "demo.setup.tomcat". The target tries to download apache tomcat 6.0.26, but it seems that this version is no longer available?! I checked the apache tomcat download site and recognized the current version is 6.0.29... So I switched the tomcat version property to that version and everything worked fine until I tried to stop tomcat after “demo.setup.tomcat” by calling the ant target " demo.teardown.tomcat" (see logging snippet):

       

      16.09.2010 14:51:28 org.apache.coyote.http11.Http11Protocol pause
      INFO: Pausing Coyote HTTP/1.1 on http-localhost%2F127.0.0.1-8080
      16.09.2010 14:51:29 org.apache.catalina.core.StandardService stop
      INFO: Stopping service Catalina
      16.09.2010 14:51:29 org.apache.catalina.core.StandardWrapper unload
      INFO: Waiting for 1 instance(s) to be deallocated
      16.09.2010 14:51:30 org.apache.catalina.core.StandardWrapper unload
      INFO: Waiting for 1 instance(s) to be deallocated
      16.09.2010 14:51:31 org.apache.catalina.core.StandardWrapper unload
      INFO: Waiting for 1 instance(s) to be deallocated
      16.09.2010 14:51:32 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
      SCHWERWIEGEND: The web application [/jbpm-console] appears to have started a thread named [com.google.inject.internal.Finalizer] but has failed to stop it. This is very likely to create a memory leak.
      16.09.2010 14:51:32 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
      SCHWERWIEGEND: The web application [/jbpm-console] appears to have started a thread named [Thread-3] but has failed to stop it. This is very likely to create a memory leak.
      16.09.2010 14:51:32 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
      SCHWERWIEGEND: The web application [/jbpm-console] appears to have started a thread named [Dispatch Worker Thread] but has failed to stop it. This is very likely to create a memory leak.
      16.09.2010 14:51:32 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
      SCHWERWIEGEND: The web application [/jbpm-console] appears to have started a thread named [Dispatch Worker Thread] but has failed to stop it. This is very likely to create a memory leak.
      16.09.2010 14:51:32 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
      SCHWERWIEGEND: The web application [/jbpm-console] appears to have started a thread named [Dispatch Worker Thread] but has failed to stop it. This is very likely to create a memory leak.
      16.09.2010 14:51:32 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
      SCHWERWIEGEND: The web application [/jbpm-console] appears to have started a thread named [Dispatch Worker Thread] but has failed to stop it. This is very likely to create a memory leak.
      16.09.2010 14:51:32 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
      SCHWERWIEGEND: The web application [/jbpm-console] appears to have started a thread named [Dispatch Worker Thread] but has failed to stop it. This is very likely to create a memory leak.
      16.09.2010 14:51:32 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
      SCHWERWIEGEND: The web application [/jbpm-console] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.
      16.09.2010 14:51:32 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
      SCHWERWIEGEND: The web application [/gwt-console-server] appears to have started a thread named [DispatcherThread] but has failed to stop it. This is very likely to create a memory leak.
      16.09.2010 14:51:32 org.apache.coyote.http11.Http11Protocol destroy
      INFO: Stopping Coyote HTTP/1.1 on http-localhost%2F127.0.0.1-8080

       

       

      So far not really good, but working... After starting and stopping tomcat (and hsqldb) several times by the corresponding ant target, the JBPM-Console refused any attempt to login by throwing the following error (see stack trace):

       

       

      WARNUNG: Could not obtain connection metadata
      org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (socket creation error)
           at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
           at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
           at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
           at org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:92)
           at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:111)
           at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
           at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
           at org.jbpm.pvm.internal.wire.descriptor.HibernateSessionFactoryDescriptor.construct(HibernateSessionFactoryDescriptor.java:62)
           at org.jbpm.pvm.internal.wire.WireContext.construct(WireContext.java:487)
           at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:466)
           at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:455)
           at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:429)
           at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:339)
           at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:704)
           at org.jbpm.pvm.internal.env.BasicEnvironment.get(BasicEnvironment.java:154)
           at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:711)
           at org.jbpm.pvm.internal.env.BasicEnvironment.get(BasicEnvironment.java:132)
           at org.jbpm.pvm.internal.env.BasicEnvironment.get(BasicEnvironment.java:123)
           at org.jbpm.pvm.internal.wire.descriptor.HibernateSessionDescriptor.construct(HibernateSessionDescriptor.java:63)
           at org.jbpm.pvm.internal.wire.WireContext.construct(WireContext.java:487)
           at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:466)
           at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:455)
           at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:429)
           at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:339)
           at org.jbpm.pvm.internal.wire.WireContext.get(WireContext.java:704)
           at org.jbpm.pvm.internal.env.BasicEnvironment.get(BasicEnvironment.java:132)
           at org.jbpm.pvm.internal.env.BasicEnvironment.get(BasicEnvironment.java:123)
           at org.jbpm.pvm.internal.env.EnvironmentImpl.getFromCurrent(EnvironmentImpl.java:207)
           at org.jbpm.pvm.internal.env.EnvironmentImpl.getFromCurrent(EnvironmentImpl.java:196)
           at org.jbpm.pvm.internal.cmd.CheckDbCmd.execute(CheckDbCmd.java:44)
           at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
           at org.jbpm.pvm.internal.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:50)
           at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
           at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
           at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)
           at org.jbpm.pvm.internal.svc.SkipInterceptor.execute(SkipInterceptor.java:43)
           at org.jbpm.pvm.internal.processengine.ProcessEngineImpl.checkDb(ProcessEngineImpl.java:152)
           at org.jbpm.pvm.internal.processengine.ProcessEngineImpl.<init>(ProcessEngineImpl.java:105)
           at org.jbpm.pvm.internal.cfg.ConfigurationImpl.instantiateProcessEngine(ConfigurationImpl.java:100)
           at org.jbpm.pvm.internal.cfg.ConfigurationImpl.buildProcessEngine(ConfigurationImpl.java:92)
           at org.jbpm.api.Configuration.getProcessEngine(Configuration.java:126)
           at org.jbpm.integration.console.forms.AbstractFormDispatcher.initializeProcessEngine(AbstractFormDispatcher.java:71)
           at org.jbpm.integration.console.forms.AbstractFormDispatcher.<init>(AbstractFormDispatcher.java:61)
           at org.jbpm.integration.console.forms.TaskFormDispatcher.<init>(TaskFormDispatcher.java:49)
           at org.jbpm.integration.console.forms.FormDispatcherComposite.<init>(FormDispatcherComposite.java:43)
           at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
           at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
           at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
           at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
           at java.lang.Class.newInstance0(Class.java:355)
           at java.lang.Class.newInstance(Class.java:308)
           at org.jboss.bpm.console.server.util.ServiceLoader.loadFromServices(ServiceLoader.java:89)
           at org.jboss.bpm.console.server.util.ServiceLoader.loadService(ServiceLoader.java:56)
           at org.jboss.bpm.console.server.plugin.PluginMgr.load(PluginMgr.java:54)
           at org.jboss.bpm.console.server.InfoFacade.getServerStatus(InfoFacade.java:83)
           at org.jboss.bpm.console.server.InfoFacade.getServerInfo(InfoFacade.java:72)
           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.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:117)
           at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:260)
           at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:232)
           at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:166)
           at org.jboss.resteasy.core.DispatcherUtilities.getJaxrsResponse(DispatcherUtilities.java:142)
           at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
           at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:173)
           at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:93)
           at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:68)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
           at org.jboss.bpm.console.server.util.GWTJsonFilter.doFilter(GWTJsonFilter.java:59)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
           at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
           at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
           at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
           at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
           at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
           at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
           at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
           at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
           at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
           at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
           at java.lang.Thread.run(Thread.java:619)
      Caused by: java.sql.SQLException: socket creation error
           at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
           at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
           at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
           at org.hsqldb.jdbcDriver.connect(Unknown Source)
           at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
           at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
           at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
           at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
           ... 85 more

       

      Does anybody know if Tomcat 6.0.29 is working properly with jBPM 4.4?

       

       

      Best wishes,

      Frank

        • 1. Re: JBPM4.4 - tomcat 6.0.29
          rebody

          Hi Frankle,

           

            It seems like the jdbc url configuration in tomcat is wrong.  I suggest you to check the server.xml in the conf directory.  make sure the datasource configuration is correctly.