[jboss-svn-commits] JBL Code SVN: r38411 - in labs/jbossesb/branches/JBESB_4_11_CP2/product: services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Sep 19 13:01:50 EDT 2013


Author: tcunning
Date: 2013-09-19 13:01:50 -0400 (Thu, 19 Sep 2013)
New Revision: 38411

Modified:
   labs/jbossesb/branches/JBESB_4_11_CP2/product/samples/quickstarts/bpm5processor/jboss-esb.xml
   labs/jbossesb/branches/JBESB_4_11_CP2/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/AbstractBpm5Action.java
   labs/jbossesb/branches/JBESB_4_11_CP2/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/model/ProcessConstants.java
Log:
JBESB-3952
Add a property to BPM5Processor to reuse the session, rather than make 
reused sessions the default behavior.


Modified: labs/jbossesb/branches/JBESB_4_11_CP2/product/samples/quickstarts/bpm5processor/jboss-esb.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP2/product/samples/quickstarts/bpm5processor/jboss-esb.xml	2013-09-06 20:42:21 UTC (rev 38410)
+++ labs/jbossesb/branches/JBESB_4_11_CP2/product/samples/quickstarts/bpm5processor/jboss-esb.xml	2013-09-19 17:01:50 UTC (rev 38411)
@@ -70,6 +70,7 @@
                       <property name="processHandlerPort" value="5446"/>
 	              <property name="process-definition-name" value="sample.bpmn"/>
                       <property name="process-id" value="com.sample.bpmn.hello"/>
+			<property name="sessionReuse" value="true"/>
                       <property name="process-action" value="startProcess"/>
                       <property name="esbToBpmParams">
                         <mapping esb="ServiceCategory" bpm="ServiceCategory" value="EsbJbpm5Example"/>

Modified: labs/jbossesb/branches/JBESB_4_11_CP2/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/AbstractBpm5Action.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP2/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/AbstractBpm5Action.java	2013-09-06 20:42:21 UTC (rev 38410)
+++ labs/jbossesb/branches/JBESB_4_11_CP2/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/AbstractBpm5Action.java	2013-09-19 17:01:50 UTC (rev 38411)
@@ -97,6 +97,7 @@
 
     protected Environment kenvironment;
     protected UserTransaction emfUserTransaction;
+    protected boolean reuseSessions;
     
 	public AbstractBpm5Action(ConfigTree configTree, Logger logger) throws ConfigurationException
 	{
@@ -109,6 +110,8 @@
 		this.handlerClass = configTree.getAttribute(ProcessConstants.PROCESS_HANDLER_CLASS, DEFAULT_HANDLER_CLASS);
 		this.handlerHost = configTree.getAttribute(ProcessConstants.PROCESS_HANDLER_HOST, DEFAULT_HANDLER_HOST);
 		this.handlerPort = configTree.getAttribute(ProcessConstants.PROCESS_HANDLER_PORT, DEFAULT_HANDLER_PORT);
+		
+		this.reuseSessions = Boolean.parseBoolean(configTree.getAttribute(ProcessConstants.SESSION_REUSE, "false"));
 	}
 	
 	@Override
@@ -180,13 +183,28 @@
 	    
 		int sessionId = getSessionId(message);
 
-		if (_ksession.get(processDefName).getId() == sessionId) {
-			ksession = _ksession.get(processDefName);
-		} else if (sessionId >= 0) {
-	        Environment tempEnv = getEnvironment(new HashMap<String, Object>());
-			ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( sessionId, kbase, config, tempEnv );		
-		} else {		
-			ksession = _ksession.get(processDefName);
+		if (reuseSessions) {
+		    if (_ksession.get(processDefName).getId() == sessionId) {
+	          ksession = _ksession.get(processDefName);
+		    } else if (sessionId >= 0) {
+	            Environment tempEnv = getEnvironment(new HashMap<String, Object>());
+	            ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( sessionId, kbase, config, tempEnv );       
+	        } else {
+	                ksession =  _ksession.get(processDefName);
+	        }
+		} else { 
+            ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, config, getEnvironment(new HashMap<String, Object>()) );		 
+            
+            try {
+                khandler = getHandler(ksession);
+            } catch (Exception e) {
+                throw new ActionProcessingException(e);
+            }
+            ESBServiceWorkItemHandler esbhandler = new ESBServiceWorkItemHandler();
+            ESBActionWorkItemHandler actionhandler = new ESBActionWorkItemHandler();
+            ksession.getWorkItemManager().registerWorkItemHandler("JBossESB", esbhandler);
+            ksession.getWorkItemManager().registerWorkItemHandler("ESBAction", actionhandler);
+            ksession.getWorkItemManager().registerWorkItemHandler("Human Task", khandler); 
 		}
 		return ksession;
 	}

Modified: labs/jbossesb/branches/JBESB_4_11_CP2/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/model/ProcessConstants.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP2/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/model/ProcessConstants.java	2013-09-06 20:42:21 UTC (rev 38410)
+++ labs/jbossesb/branches/JBESB_4_11_CP2/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/model/ProcessConstants.java	2013-09-19 17:01:50 UTC (rev 38411)
@@ -60,6 +60,9 @@
     /* Message context properties */
     public static final String SESSION_ID = "jbpm5-session-id";
     public static final String PROCESS_INSTANCE_ID = "jbpm5-processinstance-id";
-	public static final String WORK_ITEM_ID					= "jbpmWorkItemId";
+	public static final String WORK_ITEM_ID	= "jbpmWorkItemId";
+	
+	/* Sessions */
+	public static final String SESSION_REUSE = "sessionReuse";
 
 }



More information about the jboss-svn-commits mailing list