[jbpm-users] [JBoss jBPM] - Re: Invoke jBPM workflow from external app

hkapoor@ciber.com do-not-reply at jboss.com
Fri Feb 13 13:08:38 EST 2009


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

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4209992#4209992

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4209992



More information about the jbpm-users mailing list