- package kaiyuansi;
- import org.jbpm.JbpmConfiguration;
- import org.jbpm.JbpmContext;
- import org.jbpm.graph.def.ProcessDefinition;
- public class InitJbpm {
- public static void main(String[] args) {
- //初始化表
- JbpmConfiguration.getInstance().createSchema();
- //得到jbpm上下文
- JbpmContext context = JbpmConfiguration.getInstance().createJbpmContext();
- //解析流程定义文件
- ProcessDefinition pd = ProcessDefinition.parseXmlResource("processdefinition.xml");
- //部署流程
- context.deployProcessDefinition(pd);
- context.close();
- //JbpmConfiguration.getInstance().dropSchema();
- }
- }
- package kaiyuansi;
- import org.jbpm.JbpmConfiguration;
- import org.jbpm.JbpmContext;
- import org.jbpm.db.GraphSession;
- import org.jbpm.graph.def.ProcessDefinition;
- import org.jbpm.graph.exe.ProcessInstance;
- public class GoNote {
- public static void main(String[] args) {
- // 获得上下文
- JbpmContext context = JbpmConfiguration.getInstance()
- .createJbpmContext();
- // 流程控制器
- GraphSession graphSession = context.getGraphSession();
- // 获取请假流程
- ProcessDefinition processDefinition = graphSession
- .findLatestProcessDefinition("请假");
- // 得到流程实例
- ProcessInstance pi = new ProcessInstance(processDefinition);
- pi.getContextInstance().setVariable("userId", "mpconfig");
- pi.signal();
- pi.signal();
- graphSession.saveProcessDefinition(processDefinition);
- context.save(pi);
- context.close();
- }
- }
- <?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>
- <property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
- <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:ORCL</property>
- <property name="hibernate.connection.username">SYSTEM</property>
- <property name="hibernate.connection.password">mpconfig</property>
- <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
- <property name="hibernate.hbm2ddl.auto">update</property>
- <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
- <property name="hibernate.show_sql">true</property>
- <!-- 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>
- ==== 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) -->
- <!-- logging properties (begin) ===
- <property name="hibernate.show_sql">true</property>
- <property name="hibernate.format_sql">true</property>
- <property name="hibernate.use_sql_comments">true</property>
- ==== logging properties (end) -->
- <!-- ############################################ -->
- <!-- # mapping files with external dependencies # -->
- <!-- ############################################ -->
- <!-- following mapping file has a dependendy 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 -->
- <mapping resource="org/jbpm/graph/action/Script.hbm.xml"/>
- <!-- following mapping files have a dependendy on -->
- <!-- 'jbpm-identity.jar', mapping files -->
- <!-- of the pluggable jbpm identity component. -->
- <!-- Uncomment the following 3 lines if you -->
- <!-- want to use the jBPM identity mgmgt -->
- <!-- component. -->
- <!-- identity mappings (begin) -->
- <mapping resource="org/jbpm/identity/User.hbm.xml"/>
- <mapping resource="org/jbpm/identity/Group.hbm.xml"/>
- <mapping resource="org/jbpm/identity/Membership.hbm.xml"/>
- <!-- identity mappings (end) -->
- <!-- following mapping files have a dependendy on -->
- <!-- the JCR API -->
- <!-- jcr mappings (begin) ===
- <mapping resource="org/jbpm/context/exe/variableinstance/JcrNodeInstance.hbm.xml"/>
- ==== jcr mappings (end) -->
- <!-- ###################### -->
- <!-- # jbpm mapping files # -->
- <!-- ###################### -->
- <!-- hql queries and type defs -->
- <mapping resource="org/jbpm/db/hibernate.queries.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"/>
- <!-- 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/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"/>
- <!-- 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"/>
- <!-- module.def mapping files -->
- <mapping resource="org/jbpm/module/def/ModuleDefinition.hbm.xml"/>
- <!-- bytes mapping files -->
- <mapping resource="org/jbpm/bytes/ByteArray.hbm.xml"/>
- <!-- file.def mapping files -->
- <mapping resource="org/jbpm/file/def/FileDefinition.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"/>
- <!-- 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"/>
- </session-factory>
- </hibernate-configuration>
- <?xml version="1.0" encoding="UTF-8"?>
- <process-definition
- xmlns="urn:jbpm.org:jpdl-3.2"
- name="请假">
- <start-state name="开始">
- <transition name="填写申请单" to="填写申请单">
- </transition>
- </start-state>
- <task-node name="填写申请单">
- <task name="填写申请单">
- <assignment actor-id="#{userId}"></assignment>
- </task>
- <transition name="班长审批" to="班长审批"></transition>
- </task-node>
- <task-node name="班长审批">
- <task name="班长审批">
- <assignment actor-id="bz"></assignment>
- </task>
- <transition name="填写申请单" to="填写申请单"></transition>
- <transition name="班主任审批" to="班主任审批"></transition>
- </task-node>
- <task-node name="班主任审批">
- <task name="班主任审批">
- <assignment actor-id="bzr"></assignment>
- </task>
- <transition to="填写申请单" name="填写申请单"></transition>
- <transition to="结束流程" name="结束流程"></transition>
- </task-node>
- <end-state name="结束流程"></end-state>
- </process-definition>
jar包下载地址 http://download.csdn.net/detail/mainstream_code/4256548
本文出自 “小俊垃圾回收站” 博客,谢绝转载!