[jBPM Users] - Re: Problem moving from 4.1 to 4.2 using Spring configuratio
by suganda
Hi saraswati.santanu,
I have tried to using JBPM 4.2 With Spring configuration. However, I have weird exception when enable current="true"
<hibernate-session current="true"/>
if i am using
<hibernate-session />
<hibernate-session current="true"/>
or
<hibernate-session />
I can successfully insert record, or reading from database. However if I set current="true" I will get exception
| <?xml version="1.0" encoding="UTF-8"?>
|
| <jbpm-configuration xmlns="http://jbpm.org/xsd/cfg">
|
| <process-engine-context>
|
| <repository-service />
| <repository-cache />
| <execution-service />
| <history-service />
| <management-service />
| <task-service />
| <identity-service />
| <!--<transaction />-->
|
| <!--<command-service>
| <retry-interceptor />
| <environment-interceptor />
| <spring-transaction-interceptor current="true"/>
| </command-service>-->
|
| <command-service name="txRequiredCommandService">
| <retry-interceptor />
| <environment-interceptor transactionManager="dxf.hbTxManager"/>
| <spring-transaction-interceptor />
| </command-service>
|
| <!--<command-service name="newTxRequiredCommandService">
| <retry-interceptor />
| <environment-interceptor policy="requiresNew" />
| <spring-transaction-interceptor />
| </command-service>-->
|
| <deployer-manager>
| <jpdl-deployer />
| </deployer-manager>
|
| <object class="org.jbpm.pvm.internal.id.DatabaseDbidGenerator">
| <field name="commandService"><ref object="txRequiredCommandService" /></field>
| <!--<field name="commandService"><ref object="newTxRequiredCommandService" /></field>-->
| </object>
|
| <object class="org.jbpm.pvm.internal.id.DatabaseIdComposer" init="eager" />
|
| <script-manager default-expression-language="juel"
| default-script-language="juel"
| read-contexts="execution, environment,
| process-engine, spring"
| write-context="">
| <script-language name="juel" factory="org.jbpm.pvm.internal.script.JuelScriptEngineFactory" />
| </script-manager>
|
| <authentication />
|
| <job-executor auto-start="false" />
|
| <id-generator />
| <types resource="jbpm.variable.types.xml" />
|
| <business-calendar>
| <monday hours="9:00-12:00 and 12:30-17:00"/>
| <tuesday hours="9:00-12:00 and 12:30-17:00"/>
| <wednesday hours="9:00-12:00 and 12:30-17:00"/>
| <thursday hours="9:00-12:00 and 12:30-17:00"/>
| <friday hours="9:00-12:00 and 12:30-17:00"/>
| <holiday period="01/07/2008 - 31/08/2008"/>
| </business-calendar>
|
| </process-engine-context>
|
| <transaction-context>
| <repository-session />
| <db-session />
| <pvm-db-session />
| <job-db-session />
| <task-db-session />
| <message-session />
| <timer-session />
| <history-session />
| <!--<transaction />-->
| <hibernate-session />
| <hibernate-session current="true"/>
| <identity-session />
| </transaction-context>
| </jbpm-configuration>
|
Exception Stack Trace
| org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processEngine' defined in URL [file:/C:/Suganda/jbpm-4.2/workspace/dxf-comp/bin/com/gda/dxf/comp/resources/spring/spring-service-jbpm.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public org.jbpm.api.ProcessEngine org.jbpm.pvm.internal.cfg.SpringConfiguration.buildProcessEngine()] threw exception; nested exception is org.jbpm.api.JbpmException: no jBPM DB schema: no JBPM4_EXECUTION table. Run the create.jbpm.schema target first in the install tool.
| Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'initialFillService' defined in URL [file:/C:/Suganda/jbpm-4.2/workspace/dxf-comp/bin/com/gda/dxf/comp/resources/spring/spring-service.xml]: Cannot resolve reference to bean '_initialFillService' while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '_initialFillService' defined in URL [file:/C:/Suganda/jbpm-4.2/workspace/dxf-comp/bin/com/gda/dxf/comp/resources/spring/spring-service-jbpm.xml]: Cannot resolve reference to bean 'repositoryService' while setting bean property 'repositoryService'; nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'processEngine': Requested bean is currently in creation: Is there an unresolvable circular reference?
| Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'deployService' defined in URL [file:/C:/Suganda/jbpm-4.2/workspace/dxf-comp/bin/com/gda/dxf/comp/resources/spring/spring-service.xml]: Cannot resolve reference to bean '_deployService' while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '_deployService' defined in URL [file:/C:/Suganda/jbpm-4.2/workspace/dxf-comp/bin/com/gda/dxf/comp/resources/spring/spring-service-jbpm.xml]: Cannot resolve reference to bean 'repositoryService' while setting bean property 'repositoryService'; nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'processEngine': Requested bean is currently in creation: Is there an unresolvable circular reference?
| at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:551)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:964)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:868)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:479)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
| at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:289)
| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
| at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:286)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:188)
| at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:558)
| at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:852)
| at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:422)
| at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
| at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
|
Please Help me as I already check many forums but they always recommended using current="true"
I also dont use current="true" in <spring-transaction-interceptor /> in which I will get exception if i enable true of it. However the documentation stated we should enable both of them to true. I am confuse whether JBPM Documentation is wrong or I have wrong setting that cause me that exception.
Thanks in advance,
Best Regards,
Suganda
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4268445#4268445
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4268445
16 years, 4 months
[jBPM Users] - Re: Advice regarding complex proccess modeling
by saraswati.santanu
Hi,
This is a pretty late response. Out on a trip an could not access for few days.
The way you are creating sub tasks may not work. You should use command service to get your job done instead of using direct methods on tasks. Command service will ensure all the interceptors are invoked before a call is made to your command. One such interceptor will create a DBSession for you. A sample code should look like this:
| Task task = //get the parent task somehow
| //create a new task which is a child of the task above
| Task subTask = taskService.newTask(task.getId());
| subTask.setName(subTaskName);
| //this is important as this call will add this task to the sub task
| //set of the parent task. I believe this should have been done
| //during the previous call, but atleast now, it does not happen
| ((TaskImpl)task).addSubTask((TaskImpl)subTask);
|
Also there is a method in taskService to get sub tasks of a task, try using that when you need to get the sub tasks.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4268414#4268414
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4268414
16 years, 4 months