-
1. Re: Invoke jBPM workflow from external app
hmuller Jul 8, 2008 4:30 AM (in response to chawlaashish26)Hi there,
I wrote the following class, which will invoke a workflow process. I use this from a servlet which takes normal xml over http (not soap) and then calls the process with the parameters./** * */ public class WFProcessFactory { JbpmConfiguration jbpmConfig = null; /** * * @param processId * @param processName * @param key * @param processVariables * @param signalStart * @return */ public long startProcess(long processId, String processName, String key, HashMap processVariables, boolean signalStart) { long tokenId = 0; if (jbpmConfig == null) { jbpmConfig = JbpmConfiguration.getInstance(); } JbpmContext jbpmContext = jbpmConfig.createJbpmContext(); try { // get the session and process definition according to the process id GraphSession graphSession = jbpmContext.getGraphSession(); ProcessDefinition processDefinition = null; if (processName.length() > 0) { processDefinition = graphSession.findLatestProcessDefinition(processName); } else { processDefinition = graphSession.getProcessDefinition(processId); } // if there are no process variables, then create an empty variable list if (processVariables == null) { processVariables = new HashMap(); } // startup the process, set its business key (for correlation purposes, and // signal it to start going with the flow ProcessInstance processInstance = processDefinition.createProcessInstance(processVariables); processInstance.setKey(key); tokenId = processInstance.getRootToken().getId(); if (signalStart) { processInstance.signal(); } } finally { jbpmContext.close(); } return tokenId; } }
The XML that I post to my servlet looks something like this.Input: <launch_workflow> <process_id>401</process_id> OPTIONAL if process_name is specified <process_name>SomeProcessName</process_name> OPTIONAL if process_id is specified <process_key>401_00001</process_key> <process_input> <process_var> <var_name>item1</var_name> <var_value>value1</var_value> </process_var> <process_var> <var_name>item2</var_name> <var_value>value2</var_value> </process_var> <process_var> <var_name>item3</var_name> <var_value>value3</var_value> </process_var> <process_var> <var_name>item4</var_name> <var_value>value4</var_value> </process_var> </process_input> </launch_workflow> Output: <launch_result> <token_id>499</token_id> </launch_result>
One thing to take note of: Don't re-instantiate the JBPMConfiguration object with each call, as this causes the server to run out of memory really quickly.
I hope that this helps.
Regards -
2. Re: Invoke jBPM workflow from external app
chawlaashish26 Jul 8, 2008 7:15 PM (in response to chawlaashish26)Hi hmuller,
I am still not able to use this with the servlet also. I used the sample which you provided and created a servlet and deployed it...but then also i am getting an errorcouldn't parse jbpm configuration from resource 'jbpm.cfg.xml'
I am using Netbeans for my deployment of servlets and have configured the default server as jboss under the jbpm-suite path.
Also now when i try to start the jboss server usingrun.bat -c jbpm
I am not able to do that and its giving me errors, JbpmDS not bound.
Please provide your inputs on how to get this deployed and working ...
thanks
ashish -
3. Re: Invoke jBPM workflow from external app
ruchika Oct 21, 2008 9:12 AM (in response to chawlaashish26)hi Ashish,
Were u able to solve this problem (couldn't parse jbpm configuration from resource 'jbpm.cfg.xml')?
If yes, can you provide me with the steps.
I am trying to call it from external java standalone program.
Any help will be greatly appreciated.
Regards,
Ruchika -
4. Re: Invoke jBPM workflow from external app
kukeltje Oct 21, 2008 11:58 AM (in response to chawlaashish26)it is all just classpath issues.... the config file has to be available
-
5. Re: Invoke jBPM workflow from external app
ruchika Oct 22, 2008 2:58 AM (in response to chawlaashish26)Hello,
Thanks for reply.
I try adding 'jbpm.cfg.xml' in class path but i am getting same error.
Below is the complete error stack trace:
log4j:WARN No appenders could be found for logger (org.jbpm.JbpmConfiguration).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.jbpm.JbpmException: couldn't parse jbpm configuration from resource 'jbpm.cfg.xml'
at org.jbpm.JbpmConfiguration.getInstance(JbpmConfiguration.java:292)
at org.jbpm.JbpmConfiguration.getInstance(JbpmConfiguration.java:257)
at org.jbpm.JbpmConfiguration$Configs.getObjectFactory(JbpmConfiguration.java:425)
at org.jbpm.JbpmConfiguration$Configs.getObject(JbpmConfiguration.java:437)
at org.jbpm.JbpmConfiguration$Configs.getString(JbpmConfiguration.java:441)
at org.jbpm.graph.def.ProcessDefinition.createNewProcessDefinition(ProcessDefinition.java:97)
at org.jbpm.jpdl.xml.JpdlXmlReader.readProcessDefinition(JpdlXmlReader.java:138)
at org.jbpm.graph.def.ProcessDefinition.parseXmlInputStream(ProcessDefinition.java:179)
at org.jbpm.graph.def.ProcessDefinition.parseXmlResource(ProcessDefinition.java:160)
at EvenNumbersTest.main(EvenNumbersTest.java:42)
Caused by: org.jbpm.JbpmException: jbpm configuration resource 'jbpm.cfg.xml' is not available
at org.jbpm.JbpmConfiguration.getInstance(JbpmConfiguration.java:286)
... 9 more
I am not sure what I am missing.
Regards,
Ruchika -
6. Re: Invoke jBPM workflow from external app
dhanushgopinath Nov 3, 2008 6:31 AM (in response to chawlaashish26)Hi HMuller.
I too am doing the same thing, only difference is I am using a bpel process to be invoked.
I am using the same code. But I am getting this error.
Have you seen this any time. If so what must be wrong ?org.jbpm.JbpmException: token 'Token(/)' can't be signalled cause it is currently not positioned in a node
thanks
dhanush -
7. Re: Invoke jBPM workflow from external app
chawlaashish26 Nov 3, 2008 8:08 AM (in response to chawlaashish26)Hi Ruchika/Dhanush,
Have you guys been able to figure it out yet?
Let me know if not, I can send you a sample code to look at.
Thanks
Ashish -
8. Re: Invoke jBPM workflow from external app
dhanushgopinath Nov 3, 2008 8:50 AM (in response to chawlaashish26)not yet man.. any help is appreciated
-
9. Re: Invoke jBPM workflow from external app
hkapoor Feb 13, 2009 10:43 AM (in response to chawlaashish26)Hi,
I have deployed workflow in jBPM using jbpm-console.
but when I am using Java class to start it I am getting folloeing exception.
Exception in thread "main" org.hibernate.HibernateException: Could not locate TransactionManager
at org.hibernate.transaction.JNDITransactionManagerLookup.getTransactionManager(JNDITransactionManagerLookup.java:26)
at org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:325)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
at org.jbpm.persistence.db.DbPersistenceServiceFactory.getSessionFactory(DbPersistenceServiceFactory.java:105)
at org.jbpm.persistence.db.DbPersistenceService.getSessionFactory(DbPersistenceService.java:95)
at org.jbpm.persistence.db.DbPersistenceService.getSession(DbPersistenceService.java:99)
at org.jbpm.persistence.db.DbPersistenceService.getGraphSession(DbPersistenceService.java:355)
at org.jbpm.JbpmContext.getGraphSession(JbpmContext.java:639)
at com.sample.action.WFProcessFactory.startProcess(WFProcessFactory.java:77)
at com.sample.action.WFProcessFactory.main(WFProcessFactory.java:107)
Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.lookup(Unknown Source)
at org.hibernate.transaction.JNDITransactionManagerLookup.getTransactionManager(JNDITransactionManagerLookup.java:23)
... 9 more
Please Help
-Harshit -
10. Re: Invoke jBPM workflow from external app
hkapoor Feb 13, 2009 1:08 PM (in response to chawlaashish26)Code by hmuller worked however I had to use following jbpm.cfg.xml
<jbpm-configuration> <jbpm-context> <service name="persistence"> <factory> <bean class='org.jbpm.persistence.db.DbPersistenceServiceFactory'> <field name='isCurrentSessionEnabled'><false /></field> <field name='isTransactionEnabled'><false /></field> </bean> </factory> </service> <service name="message" factory="org.jbpm.msg.jms.JmsMessageServiceFactory" /> <service name="scheduler" factory="org.jbpm.scheduler.ejbtimer.EntitySchedulerServiceFactory" /> <service name="tx" factory="org.jbpm.tx.TxServiceFactory" /> <service name="logging" factory="org.jbpm.logging.db.DbLoggingServiceFactory" /> <service name="authentication" factory="org.jbpm.security.authentication.DefaultAuthenticationServiceFactory" /> </jbpm-context> <!-- Note, that the default job executor needs to be overwritten with a null value. In the enterprise configuration there should be no job executor. Async messaging is there bound to jms and timers to ejb timers. --> <null name="jbpm.job.executor" /> <!-- configuration resource files pointing to default configuration files in jbpm-{version}.jar --> <string name='resource.hibernate.cfg.xml' value='hibernate.cfg.xml' /> </jbpm-configuration>
and the following hibernate.cfg.xml<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- hibernate dialect --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <!-- JDBC connection properties (begin) === --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/workflowdb</property> <property name="hibernate.connection.username">user</property> <property name="hibernate.connection.password">paswd</property> <!-- ==== JDBC connection properties (end) --> <!-- DataSource properties (begin) --> <!-- <property name="hibernate.connection.datasource">java:/JbpmDS</property> --> <!-- DataSource properties (end) --> <!-- JTA transaction properties (begin) --> <!-- <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property> <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property> <property name="jta.UserTransaction">UserTransaction</property> --> <!-- JTA transaction properties (end) --> <!-- CMT transaction properties (begin) === <property name="hibernate.transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</property> <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property> ==== CMT transaction properties (end) --> <!-- ################################### --> <!-- # common settings # --> <!-- ################################### --> <!-- Automatic schema creation (begin) === <property name="hibernate.hbm2ddl.auto">create</property> ==== Automatic schema creation (end) --> <!-- Simple memory-only cache --> <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property> <!-- logging properties --> <property name="hibernate.format_sql">true</property> <property name="hibernate.use_sql_comments">true</property> <!-- ############################################ --> <!-- # mapping files with external dependencies # --> <!-- ############################################ --> <!-- Additional mappings defined per module go here --> <mapping resource="hibernate.extra.hbm.xml" /> <mapping resource="hibernate.identity.hbm.xml" /> <!-- ###################### --> <!-- # jbpm mapping files # --> <!-- ###################### --> <!-- hql queries and type defs --> <mapping resource="org/jbpm/db/hibernate.queries.hbm.xml" /> <!-- hql queries used in simulation for querying historical data uncomment if you want to use the GetSimulationInputCommand or maybe you also want to use the queries yourself be patient: the queries need the stddev function to be enabled in your dialect more information on this can be found here: http://www.camunda.com/business_process_simulation_news/mysql_and_stddev.html --> <!-- <mapping resource="org/jbpm/sim/bam/hibernate.queries.hbm.xml" /> --> <!-- graph.action mapping files --> <mapping resource="org/jbpm/graph/action/MailAction.hbm.xml"/> <!-- graph.def mapping files --> <mapping resource="org/jbpm/graph/def/ProcessDefinition.hbm.xml"/> <mapping resource="org/jbpm/graph/def/Node.hbm.xml"/> <mapping resource="org/jbpm/graph/def/Transition.hbm.xml"/> <mapping resource="org/jbpm/graph/def/Event.hbm.xml"/> <mapping resource="org/jbpm/graph/def/Action.hbm.xml"/> <mapping resource="org/jbpm/graph/def/SuperState.hbm.xml"/> <mapping resource="org/jbpm/graph/def/ExceptionHandler.hbm.xml"/> <mapping resource="org/jbpm/instantiation/Delegation.hbm.xml"/> <!-- ############################################ --> <!-- # another mapping file with external dependencies # --> <!-- ############################################ --> <!-- following mapping file has a dependency on --> <!-- 'bsh-{version}.jar'. --> <!-- uncomment this if you don't have bsh on your --> <!-- classpath. you won't be able to use the --> <!-- script element in process definition files --> <!-- has to be defined below org/jbpm/graph/def/Action.hbm.xml --> <!-- due to the inline collection-cache elements below --> <mapping resource="org/jbpm/graph/action/Script.hbm.xml"/> <!-- graph.node mapping files --> <mapping resource="org/jbpm/graph/node/StartState.hbm.xml"/> <mapping resource="org/jbpm/graph/node/EndState.hbm.xml"/> <mapping resource="org/jbpm/graph/node/ProcessState.hbm.xml"/> <mapping resource="org/jbpm/graph/node/Decision.hbm.xml"/> <mapping resource="org/jbpm/graph/node/Fork.hbm.xml"/> <mapping resource="org/jbpm/graph/node/Join.hbm.xml"/> <mapping resource="org/jbpm/graph/node/MailNode.hbm.xml"/> <mapping resource="org/jbpm/graph/node/State.hbm.xml"/> <mapping resource="org/jbpm/graph/node/TaskNode.hbm.xml"/> <!-- context.def mapping files --> <mapping resource="org/jbpm/context/def/ContextDefinition.hbm.xml"/> <mapping resource="org/jbpm/context/def/VariableAccess.hbm.xml"/> <!-- bytes mapping files --> <mapping resource="org/jbpm/bytes/ByteArray.hbm.xml"/> <!-- module.def mapping files --> <mapping resource="org/jbpm/module/def/ModuleDefinition.hbm.xml"/> <!-- file.def mapping files --> <mapping resource="org/jbpm/file/def/FileDefinition.hbm.xml"/> <!-- taskmgmt.def mapping files --> <mapping resource="org/jbpm/taskmgmt/def/TaskMgmtDefinition.hbm.xml"/> <mapping resource="org/jbpm/taskmgmt/def/Swimlane.hbm.xml"/> <mapping resource="org/jbpm/taskmgmt/def/Task.hbm.xml"/> <mapping resource="org/jbpm/taskmgmt/def/TaskController.hbm.xml"/> <!-- scheduler.def mapping files --> <mapping resource="org/jbpm/scheduler/def/CreateTimerAction.hbm.xml"/> <mapping resource="org/jbpm/scheduler/def/CancelTimerAction.hbm.xml"/> <!-- graph.exe mapping files --> <mapping resource="org/jbpm/graph/exe/Comment.hbm.xml"/> <mapping resource="org/jbpm/graph/exe/ProcessInstance.hbm.xml"/> <mapping resource="org/jbpm/graph/exe/Token.hbm.xml"/> <mapping resource="org/jbpm/graph/exe/RuntimeAction.hbm.xml"/> <!-- module.exe mapping files --> <mapping resource="org/jbpm/module/exe/ModuleInstance.hbm.xml"/> <!-- context.exe mapping files --> <mapping resource="org/jbpm/context/exe/ContextInstance.hbm.xml"/> <mapping resource="org/jbpm/context/exe/TokenVariableMap.hbm.xml"/> <mapping resource="org/jbpm/context/exe/VariableInstance.hbm.xml"/> <mapping resource="org/jbpm/context/exe/variableinstance/ByteArrayInstance.hbm.xml"/> <mapping resource="org/jbpm/context/exe/variableinstance/DateInstance.hbm.xml"/> <mapping resource="org/jbpm/context/exe/variableinstance/DoubleInstance.hbm.xml"/> <mapping resource="org/jbpm/context/exe/variableinstance/HibernateLongInstance.hbm.xml"/> <mapping resource="org/jbpm/context/exe/variableinstance/HibernateStringInstance.hbm.xml"/> <mapping resource="org/jbpm/context/exe/variableinstance/LongInstance.hbm.xml"/> <mapping resource="org/jbpm/context/exe/variableinstance/NullInstance.hbm.xml"/> <mapping resource="org/jbpm/context/exe/variableinstance/StringInstance.hbm.xml"/> <!-- job mapping files --> <mapping resource="org/jbpm/job/Job.hbm.xml"/> <mapping resource="org/jbpm/job/Timer.hbm.xml"/> <mapping resource="org/jbpm/job/ExecuteNodeJob.hbm.xml"/> <mapping resource="org/jbpm/job/ExecuteActionJob.hbm.xml"/> <mapping resource="org/jbpm/job/CleanUpProcessJob.hbm.xml"/> <!-- taskmgmt.exe mapping files --> <mapping resource="org/jbpm/taskmgmt/exe/TaskMgmtInstance.hbm.xml"/> <mapping resource="org/jbpm/taskmgmt/exe/TaskInstance.hbm.xml"/> <mapping resource="org/jbpm/taskmgmt/exe/PooledActor.hbm.xml"/> <mapping resource="org/jbpm/taskmgmt/exe/SwimlaneInstance.hbm.xml"/> <!-- logging mapping files --> <mapping resource="org/jbpm/logging/log/ProcessLog.hbm.xml"/> <mapping resource="org/jbpm/logging/log/MessageLog.hbm.xml"/> <mapping resource="org/jbpm/logging/log/CompositeLog.hbm.xml"/> <mapping resource="org/jbpm/graph/log/ActionLog.hbm.xml"/> <mapping resource="org/jbpm/graph/log/NodeLog.hbm.xml"/> <mapping resource="org/jbpm/graph/log/ProcessInstanceCreateLog.hbm.xml"/> <mapping resource="org/jbpm/graph/log/ProcessInstanceEndLog.hbm.xml"/> <mapping resource="org/jbpm/graph/log/ProcessStateLog.hbm.xml"/> <mapping resource="org/jbpm/graph/log/SignalLog.hbm.xml"/> <mapping resource="org/jbpm/graph/log/TokenCreateLog.hbm.xml"/> <mapping resource="org/jbpm/graph/log/TokenEndLog.hbm.xml"/> <mapping resource="org/jbpm/graph/log/TransitionLog.hbm.xml"/> <mapping resource="org/jbpm/context/log/VariableLog.hbm.xml"/> <mapping resource="org/jbpm/context/log/VariableCreateLog.hbm.xml"/> <mapping resource="org/jbpm/context/log/VariableDeleteLog.hbm.xml"/> <mapping resource="org/jbpm/context/log/VariableUpdateLog.hbm.xml"/> <mapping resource="org/jbpm/context/log/variableinstance/ByteArrayUpdateLog.hbm.xml"/> <mapping resource="org/jbpm/context/log/variableinstance/DateUpdateLog.hbm.xml"/> <mapping resource="org/jbpm/context/log/variableinstance/DoubleUpdateLog.hbm.xml"/> <mapping resource="org/jbpm/context/log/variableinstance/HibernateLongUpdateLog.hbm.xml"/> <mapping resource="org/jbpm/context/log/variableinstance/HibernateStringUpdateLog.hbm.xml"/> <mapping resource="org/jbpm/context/log/variableinstance/LongUpdateLog.hbm.xml"/> <mapping resource="org/jbpm/context/log/variableinstance/StringUpdateLog.hbm.xml"/> <mapping resource="org/jbpm/taskmgmt/log/TaskLog.hbm.xml"/> <mapping resource="org/jbpm/taskmgmt/log/TaskCreateLog.hbm.xml"/> <mapping resource="org/jbpm/taskmgmt/log/TaskAssignLog.hbm.xml"/> <mapping resource="org/jbpm/taskmgmt/log/TaskEndLog.hbm.xml"/> <mapping resource="org/jbpm/taskmgmt/log/SwimlaneLog.hbm.xml"/> <mapping resource="org/jbpm/taskmgmt/log/SwimlaneCreateLog.hbm.xml"/> <mapping resource="org/jbpm/taskmgmt/log/SwimlaneAssignLog.hbm.xml"/> <!-- ################################### --> <!-- # cache settings # --> <!-- # strategy="nonstrict-read-write" # --> <!-- # can be used with hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider # --> <!-- ################################### --> <class-cache class="org.jbpm.context.def.VariableAccess" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.file.def.FileDefinition.processFiles" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.action.Script.variableAccesses" usage="nonstrict-read-write" /> <class-cache class="org.jbpm.graph.def.Action" usage="nonstrict-read-write" /> <class-cache class="org.jbpm.graph.def.Event" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.Event.actions" usage="nonstrict-read-write" /> <class-cache class="org.jbpm.graph.def.ExceptionHandler" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.ExceptionHandler.actions" usage="nonstrict-read-write" /> <class-cache class="org.jbpm.graph.def.Node" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.Node.events" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.Node.exceptionHandlers" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.Node.leavingTransitions" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.Node.arrivingTransitions" usage="nonstrict-read-write" /> <class-cache class="org.jbpm.graph.def.ProcessDefinition" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.events" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.exceptionHandlers" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.nodes" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.actions" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.definitions" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.SuperState.nodes" usage="nonstrict-read-write" /> <class-cache class="org.jbpm.graph.def.Transition" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.Transition.events" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.def.Transition.exceptionHandlers" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.node.Decision.decisionConditions" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.node.ProcessState.variableAccesses" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.graph.node.TaskNode.tasks" usage="nonstrict-read-write" /> <class-cache class="org.jbpm.instantiation.Delegation" usage="nonstrict-read-write" /> <class-cache class="org.jbpm.module.def.ModuleDefinition" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.taskmgmt.def.Swimlane.tasks" usage="nonstrict-read-write" /> <class-cache class="org.jbpm.taskmgmt.def.TaskController" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.taskmgmt.def.TaskController.variableAccesses" usage="nonstrict-read-write" /> <class-cache class="org.jbpm.taskmgmt.def.Task" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.taskmgmt.def.Task.events" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.taskmgmt.def.Task.exceptionHandlers" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.taskmgmt.def.TaskMgmtDefinition.swimlanes" usage="nonstrict-read-write" /> <collection-cache collection="org.jbpm.taskmgmt.def.TaskMgmtDefinition.tasks" usage="nonstrict-read-write" /> </session-factory> </hibernate-configuration>
basically I have commented JTA transaction properties and CMT transaction properties. I am unaware of the implications.
Can someone throw some light on it.
-Harshit