[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