OK, I found how to overcome it. You can apply patch for better session object creation (from attachment).
2009/12/23 Rafal Rusin <[email protected]>: > Hello, > > I have similar problem while listing processes in gwt-console - 'Could > not initialize stateful knowledge session'. > I tried to go through manual to set up drools flow with humantasks. I > basicly went through > https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/docs/drools-flow/html/ch14.html#d0e3588 > . > But I get this exception (listing human tasks works well): > > org.jboss.resteasy.spi.UnhandledException: java.lang.RuntimeException: > Could not initialize stateful knowledge session: > java.lang.reflect.InvocationTargetException > at > org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:319) > at > org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:230) > at > org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:206) > at > org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:360) > 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.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) > 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:235) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > at > org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) > at > org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) > at > org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) > at > org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > at java.lang.Thread.run(Thread.java:619) > Caused by: java.lang.RuntimeException: Could not initialize stateful > knowledge session: java.lang.reflect.InvocationTargetException > at > org.drools.integration.console.DroolsFlowCommandDelegate.newStatefulKnowledgeSession(DroolsFlowCommandDelegate.java:69) > at > org.drools.integration.console.DroolsFlowCommandDelegate.getSession(DroolsFlowCommandDelegate.java:77) > at > org.drools.integration.console.DroolsFlowCommandDelegate.<init>(DroolsFlowCommandDelegate.java:36) > at > org.drools.integration.console.DroolsFlowProcessManagement.<init>(DroolsFlowProcessManagement.java:20) > at > org.drools.integration.console.DroolsFlowManagementFactory.createProcessManagement(DroolsFlowManagementFactory.java:11) > at > org.jboss.bpm.console.server.ProcessMgmtFacade.getProcessManagement(ProcessMgmtFacade.java:83) > at > org.jboss.bpm.console.server.ProcessMgmtFacade.getDefinitionsJSON(ProcessMgmtFacade.java:107) > 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) > ... 28 more > Caused by: java.lang.IllegalStateException: > java.lang.reflect.InvocationTargetException > at > org.drools.persistence.jpa.impl.JPAKnowledgeServiceProviderImpl.buildCommanService(JPAKnowledgeServiceProviderImpl.java:97) > at > org.drools.persistence.jpa.impl.JPAKnowledgeServiceProviderImpl.loadStatefulKnowledgeSession(JPAKnowledgeServiceProviderImpl.java:72) > at > org.drools.persistence.jpa.JPAKnowledgeService.loadStatefulKnowledgeSession(JPAKnowledgeService.java:102) > at > org.drools.integration.console.DroolsFlowCommandDelegate.newStatefulKnowledgeSession(DroolsFlowCommandDelegate.java:51) > ... 44 more > Caused by: java.lang.reflect.InvocationTargetException > 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 > org.drools.persistence.jpa.impl.JPAKnowledgeServiceProviderImpl.buildCommanService(JPAKnowledgeServiceProviderImpl.java:85) > ... 47 more > Caused by: java.lang.RuntimeException: Could not find session data for id 1 > at > org.drools.persistence.session.SingleSessionCommandService.<init>(SingleSessionCommandService.java:191) > ... 52 more > > Detailed logs are in attachment. > I compiled 'default' package containing example flow in guvernor, but > this didn't help. > > I think that guvnor.war doesn't use testDS1 datasource, so I suppose > it writes SessionInfo object somewhere else. Do you think I could > reconfigure jackrabbit to use testDS1 datasource? Does that make > sense? > I used http://anonsvn.jboss.org/repos/labs/labs/jbossrules/tr...@30785 > version from Sun Dec 20 18:50:08 2009. I deployed things on JBoss > 5.1.0.GA. > Do you have some ideas why this doesn't work? > > Regards, > -- > Rafał Rusin > http://rrusin.blogspot.com > http://www.touk.pl > http://top.touk.pl > Regards, -- Rafał Rusin http://rrusin.blogspot.com http://www.touk.pl http://top.touk.pl
commit b8335079249f01b423f858b7cd559e20dbc830c4 Author: Rafał Rusin <[email protected]> Date: Wed Dec 23 16:43:36 2009 +0100 Fix for knowledge session creation diff --git a/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowCommandDelegate.java b/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowCommandDelegate.java index 9495499..c1bc12e 100644 --- a/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowCommandDelegate.java +++ b/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowCommandDelegate.java @@ -51,14 +51,10 @@ public class DroolsFlowCommandDelegate { ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( 1, kbase, null, env); System.out.println("Loading session data ..."); - } catch (RuntimeException e) { - if ("Could not find session data for id 1".equals(e.getMessage())) { - ksession = JPAKnowledgeService.newStatefulKnowledgeSession( - kbase, null, env); - System.out.println("Creating new session data ..."); - } else { - throw e; - } + } catch (Throwable t) { + ksession = JPAKnowledgeService.newStatefulKnowledgeSession( + kbase, null, env); + System.out.println("Creating new session data ..."); } new WorkingMemoryDbLogger(ksession); ksession.getWorkItemManager().registerWorkItemHandler(
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
