tobysaville
Jun 6th, 2006, 09:28 AM
Hello,
Im not entirely sure im understanding the implementation of the JBPM 3.0.x spring module. Unfortunately due to other restrictions, I have to use the JBPM 3.0.2 implementation.
I am able to retrieve a JbpmTemplate from the spring application but it seems that the sort of queries available are very limited, with no option getting hold of the session to perform your own queries. Is it necessary to extend JbpmTemplate myself to expose the session?
Also, a new ProcessDefinition is created each time the application is deployed (possibly related to this thread: http://forum.springframework.org/showthread.php?t=23474)
Also, when I try to get my LocalJbpmSessionFactoryBean from the spring application context, I get a class cast expression.
Definition:
<bean id="jbpmSessionFactoryBean"
class="org.springmodules.workflow.jbpm30.LocalJbpmSession FactoryBean">
<property name="hibernateSessionFactory" ref="hibernateSessionFactory"/>
<property name="hibernateConfiguration" ref="hibernateConfiguration"/>
</bean>
Instantiation:
LocalJbpmSessionFactoryBean ljsfb = (LocalJbpmSessionFactoryBean)wac.getBean("jbpmSessionFactoryBean");
Error: (ApplicationListener.java:37 is the line above):
java.lang.ClassCastException: org.springmodules.workflow.jbpm30.LocalJbpmSession FactoryBean$SpringJbpmSessionFactory
at com.web.util.ApplicationListener.contextInitialize d(ApplicationListener.java:37)
at org.apache.catalina.core.StandardContext.listenerS tart(StandardContext.java:3692)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4127)
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirec tory(HostConfig.java:910)
at org.apache.catalina.startup.HostConfig.deployDirec tories(HostConfig.java:873)
at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:474)
at org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1118)
at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:718)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:442)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:450)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:680)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:536)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:413)
Any clue what im doing wrong? I realise a proxy is created but I don’t know what its class is. I figure if I can access the LocalJbpmSessionFactoryBean, I can access the JbpmSessionFactory and subsequently the JbpmSession.
Please tell me if my approach is way off.
Cheers, toby
Im not entirely sure im understanding the implementation of the JBPM 3.0.x spring module. Unfortunately due to other restrictions, I have to use the JBPM 3.0.2 implementation.
I am able to retrieve a JbpmTemplate from the spring application but it seems that the sort of queries available are very limited, with no option getting hold of the session to perform your own queries. Is it necessary to extend JbpmTemplate myself to expose the session?
Also, a new ProcessDefinition is created each time the application is deployed (possibly related to this thread: http://forum.springframework.org/showthread.php?t=23474)
Also, when I try to get my LocalJbpmSessionFactoryBean from the spring application context, I get a class cast expression.
Definition:
<bean id="jbpmSessionFactoryBean"
class="org.springmodules.workflow.jbpm30.LocalJbpmSession FactoryBean">
<property name="hibernateSessionFactory" ref="hibernateSessionFactory"/>
<property name="hibernateConfiguration" ref="hibernateConfiguration"/>
</bean>
Instantiation:
LocalJbpmSessionFactoryBean ljsfb = (LocalJbpmSessionFactoryBean)wac.getBean("jbpmSessionFactoryBean");
Error: (ApplicationListener.java:37 is the line above):
java.lang.ClassCastException: org.springmodules.workflow.jbpm30.LocalJbpmSession FactoryBean$SpringJbpmSessionFactory
at com.web.util.ApplicationListener.contextInitialize d(ApplicationListener.java:37)
at org.apache.catalina.core.StandardContext.listenerS tart(StandardContext.java:3692)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4127)
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirec tory(HostConfig.java:910)
at org.apache.catalina.startup.HostConfig.deployDirec tories(HostConfig.java:873)
at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:474)
at org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1118)
at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:718)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:442)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:450)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:680)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:536)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:413)
Any clue what im doing wrong? I realise a proxy is created but I don’t know what its class is. I figure if I can access the LocalJbpmSessionFactoryBean, I can access the JbpmSessionFactory and subsequently the JbpmSession.
Please tell me if my approach is way off.
Cheers, toby