[jboss-svn-commits] JBL Code SVN: r38066 - in labs/jbossesb/branches/JBESB_4_11_CP/product: install and 5 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Apr 30 15:57:42 EDT 2012
Author: tcunning
Date: 2012-04-30 15:57:39 -0400 (Mon, 30 Apr 2012)
New Revision: 38066
Added:
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/lib/ext/build-time/drools-compiler-5.4.0.CR1.jar
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/lib/ext/build-time/protobuf-java-2.4.1.jar
Removed:
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/lib/ext/build-time/drools-compiler-5.3.1.Final.jar
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/resources/META-INF/JBPMorm.xml
Modified:
labs/jbossesb/branches/JBESB_4_11_CP/product/build-distr.xml
labs/jbossesb/branches/JBESB_4_11_CP/product/install/build.xml
labs/jbossesb/branches/JBESB_4_11_CP/product/ivy.xml
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/ivy.xml
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/service/jbpm5/model/ProcessConstants.java
labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/Bpm5Processor.java
Log:
JBESB-3793
Make jbpm5.esb an optional install per platform, and upgrade jbpm
to version 5.3.0.CR1 (and make corresponding drools/mvel upgrades).
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/build-distr.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/build-distr.xml 2012-04-26 19:08:27 UTC (rev 38065)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/build-distr.xml 2012-04-30 19:57:39 UTC (rev 38066)
@@ -46,6 +46,21 @@
<include name="*.txt"/>
</fileset>
</copy>
+
+ <mkdir dir="${build.dir}/jbossesb/install/jUDDI-registryV3"/>
+ <copy todir="${build.dir}/jbossesb/install/jUDDI-registryV3">
+ <fileset dir="${installation.files.dir}/jUDDI-registryV3">
+ <include name="*.xml"/>
+ </fileset>
+ </copy>
+
+ <mkdir dir="${build.dir}/jbossesb/install/jbpm5-extras"/>
+ <copy todir="${build.dir}/jbossesb/install/jbpm5-extras">
+ <fileset dir="${installation.files.dir}/jbpm5-extras">
+ <include name="*.mvel"/>
+ <include name="*.xml"/>
+ </fileset>
+ </copy>
</target>
<target name="ftp-server" unless="skip.ftp.server">
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/install/build.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/install/build.xml 2012-04-26 19:08:27 UTC (rev 38065)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/install/build.xml 2012-04-30 19:57:39 UTC (rev 38066)
@@ -294,6 +294,22 @@
-->
<!-- licence file -->
<copy file="${org.jboss.esb.dist.lib}/Licenses.txt" tofile="${org.jboss.esb.server.home}/EsbLicences.txt"/>
+
+ <!-- Set up human task WAR -->
+ <mkdir dir="${deploy.dir}/jbpm-human-task.war"/>
+ <unzip src="${org.jboss.esb.dist.lib}/jbpm-human-task-5.3.0.BRMS-ER6.war"
+ dest="${deploy.dir}/jbpm-human-task.war"/>
+ <copy todir="${deploy.dir}"
+ file="${basedir}/task-ds.xml"/>
+ <copy todir="${deploy.dir}/jbpm-human-task.war/WEB-INF"
+ overwrite="true">
+ <fileset dir="${basedir}/jbpm5-extras" includes="web.xml"/>
+ </copy>
+ <copy todir="${deploy.dir}/jbpm-human-task.war/WEB-INF/classes/org/jbpm"
+ overwrite="true">
+ <fileset dir="${basedir}/jbpm5-extras" includes="*.mvel"/>
+ </copy>
+
</target>
<target name="internal.deploy.jbossas5.only" if="jbossas5" unless="jbossas6">
@@ -363,9 +379,16 @@
<include name="publicKeyStore"/>
</fileset>
</copy>
-
+
+ <!-- install trove4j jar -->
<copy todir="${server.lib.dir}" overwrite="true">
<fileset dir="${org.jboss.esb.dist.lib}">
+ <include name="trove4j-*.jar"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${server.lib.dir}" overwrite="true">
+ <fileset dir="${org.jboss.esb.dist.lib}">
<include name="picketlink-*.jar"/>
<include name="commons-httpclient-*.jar"/>
</fileset>
@@ -424,8 +447,16 @@
dest="${deploy.dir}/jbpm-human-task.war"/>
<copy todir="${deploy.dir}"
file="${basedir}/task-ds.xml"/>
-
+ <copy todir="${deploy.dir}/jbpm-human-task.war/WEB-INF"
+ overwrite="true">
+ <fileset dir="${basedir}/jbpm5-extras" includes="web.xml"/>
+ </copy>
+ <copy todir="${deploy.dir}/jbpm-human-task.war/WEB-INF/classes/org/jbpm"
+ overwrite="true">
+ <fileset dir="${basedir}/jbpm5-extras" includes="*.mvel"/>
+ </copy>
+
<copy tofile="${deploy.dir}/jbossesb.sar/META-INF/jboss-service.xml" file="${basedir}/jboss-service-jbossas5.xml" overwrite="true"/>
<copy todir="${deploy.dir}/jbossesb-registry.sar" includeemptydirs="false" overwrite="true">
@@ -496,10 +527,12 @@
<param name="esbModuleName" value="slsb.esb" />
</antcall>
- <!-- slsb.esb -->
+ <!-- jbpm5.esb -->
+ <!-- jbpm5.esb is optional within SOA-P, not deployed by default
<antcall target="deployEsbModule">
<param name="esbModuleName" value="jbpm5.esb" />
</antcall>
+ -->
</target>
<target name="deploySoapModule">
@@ -580,7 +613,6 @@
<delete dir="${deploy.dir}/smooks.esb" quiet="true" />
<delete dir="${deploy.dir}/spring.esb" quiet="true"/>
<delete dir="${deploy.dir}/soap.esb" quiet="true"/>
- <delete dir="${deploy.dir}/jbpm5.esb" quiet="true"/>
<delete dir="${deploy.dir}/soapui-client.sar" quiet="true"/>
<delete file="${deploy.dir}/contract.war" quiet="true"/>
<delete file="${deploy.dir}/esb-console.war" quiet="true" />
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/ivy.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/ivy.xml 2012-04-26 19:08:27 UTC (rev 38065)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/ivy.xml 2012-04-30 19:57:39 UTC (rev 38066)
@@ -86,7 +86,7 @@
<dependency org="org.freemarker" name="freemarker" rev="2.3.15"/>
<dependency org="org.codehaus.jackson" name="jackson-core-lgpl" rev="1.0.1"/>
<!-- Use the drools version of mvel -->
- <dependency org="org.mvel" name="mvel2" rev="2.1.Beta6"/>
+ <dependency org="org.mvel" name="mvel2" rev="2.1.0.drools10"/>
<dependency org="jaxen" name="jaxen" rev="1.1.1">
<exclude org="dom4j" module="dom4j"/>
<exclude org="xerces" module="xmlParserAPIs"/>
@@ -192,12 +192,6 @@
<!-- trove4j for human-task-server -->
<dependency org="net.sf.trove4j" name="trove4j" rev="3.0.2" transitive="false"/>
-<!--
- <dependency org="org.jbpm" name="jbpm-gwt-console" rev="5.2.0.Final"
- transitive="false">
- <artifact name="jbpm-gwt-console" type="war"/>
- </dependency>
--->
<exclude org="apache-httpclient" module="commons-httpclient"/>
</dependencies>
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/ivy.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/ivy.xml 2012-04-26 19:08:27 UTC (rev 38065)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/ivy.xml 2012-04-30 19:57:39 UTC (rev 38066)
@@ -2,15 +2,15 @@
<info organisation="org.jboss" module="jbossesb"/>
<dependencies>
- <dependency org="org.jbpm" name="jbpm-bpmn2" rev="5.2.0.Final" transitive="false"/>
- <dependency org="org.jbpm" name="jbpm-human-task" rev="5.2.0.Final" transitive="false"/>
- <dependency org="org.jbpm" name="jbpm-flow-builder" rev="5.2.0.Final" transitive="false"/>
- <dependency org="org.jbpm" name="jbpm-flow" rev="5.2.0.Final" transitive
+ <dependency org="org.jbpm" name="jbpm-bpmn2" rev="5.3.0.CR1" transitive="false"/>
+ <dependency org="org.jbpm" name="jbpm-human-task" rev="5.3.0.CR1" transitive="false"/>
+ <dependency org="org.jbpm" name="jbpm-flow-builder" rev="5.3.0.CR1" transitive="false"/>
+ <dependency org="org.jbpm" name="jbpm-flow" rev="5.3.0.CR1" transitive
="false"/>
- <dependency org="org.jbpm" name="jbpm-persistence-jpa" rev="5.2.0.Final" transitive="false"/>
- <dependency org="org.drools" name="drools-persistence-jpa" rev="5.3.1.Final" transitive="false"/>
+ <dependency org="org.jbpm" name="jbpm-persistence-jpa" rev="5.3.0.CR1" transitive="false"/>
+ <dependency org="org.drools" name="drools-persistence-jpa" rev="5.4.0.CR1" transitive="false"/>
- <dependency org="org.drools" name="drools-core" rev="5.3.1.Final" transitive="false"/>
- <dependency org="org.drools" name="knowledge-api" rev="5.3.1.Final" transitive="false"/>
+ <dependency org="org.drools" name="drools-core" rev="5.4.0.CR1" transitive="false"/>
+ <dependency org="org.drools" name="knowledge-api" rev="5.4.0.CR1" transitive="false"/>
</dependencies>
</ivy-module>
Deleted: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/lib/ext/build-time/drools-compiler-5.3.1.Final.jar
===================================================================
(Binary files differ)
Added: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/lib/ext/build-time/drools-compiler-5.4.0.CR1.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/lib/ext/build-time/drools-compiler-5.4.0.CR1.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/lib/ext/build-time/protobuf-java-2.4.1.jar
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/lib/ext/build-time/protobuf-java-2.4.1.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/service/jbpm5/model/ProcessConstants.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/service/jbpm5/model/ProcessConstants.java 2012-04-26 19:08:27 UTC (rev 38065)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/service/jbpm5/model/ProcessConstants.java 2012-04-30 19:57:39 UTC (rev 38066)
@@ -37,6 +37,11 @@
/* Events */
public static final String PROCESS_EVENT_TYPE = "processEventType";
public static final String PROCESS_EVENT = "processEvent";
+
+ /* Handler Class properties */
+ public static final String PROCESS_HANDLER_CLASS = "processHandlerClass";
+ public static final String PROCESS_HANDLER_HOST = "processHandlerHost";
+ public static final String PROCESS_HANDLER_PORT = "processHandlerPort";
/* Tags */
public static final String PROCESS_DEFINITION_NAME = "process-definition-name";
Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/Bpm5Processor.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/Bpm5Processor.java 2012-04-26 19:08:27 UTC (rev 38065)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/java/org/jboss/soa/esb/services/jbpm5/actions/Bpm5Processor.java 2012-04-30 19:57:39 UTC (rev 38066)
@@ -21,6 +21,8 @@
*/
package org.jboss.soa.esb.services.jbpm5.actions;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
@@ -40,6 +42,7 @@
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.actions.ActionLifecycle;
import org.jboss.soa.esb.actions.ActionLifecycleException;
+import org.jboss.soa.esb.common.ModulePropertyManager;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.services.security.SecurityContext;
@@ -48,6 +51,7 @@
import org.jboss.soa.esb.service.jbpm5.model.ProcessType;
import org.jboss.soa.esb.service.jbpm5.model.ProcessConstants;
+import org.jboss.soa.esb.util.ClassUtil;
import org.jbpm.process.workitem.wsht.CommandBasedWSHumanTaskHandler;
import org.drools.KnowledgeBase;
@@ -67,11 +71,16 @@
import org.drools.runtime.Environment;
import org.drools.runtime.EnvironmentName;
+import org.drools.runtime.KnowledgeRuntime;
import org.drools.runtime.KnowledgeSessionConfiguration;
import org.drools.runtime.conf.ClockTypeOption;
import org.drools.runtime.process.ProcessInstance;
+import org.drools.runtime.process.WorkItemHandler;
+
import org.drools.runtime.StatefulKnowledgeSession;
+import com.arjuna.common.util.propertyservice.PropertyManager;
+
/**
* The Bpm5Processor processes an action on a single JBPM process.
*
@@ -81,6 +90,11 @@
public class Bpm5Processor implements ActionLifecycle {
protected ConfigTree configTree;
private static Logger logger = Logger.getLogger(Bpm5Processor.class);
+
+ private static final String DEFAULT_HANDLER_CLASS = "org.jbpm.process.workitem.wsht.CommandBasedWSHumanTaskHandler";
+ private static final String DEFAULT_HANDLER_HOST = "127.0.0.1";
+ private static final String DEFAULT_HANDLER_PORT = "9123";
+
private UserTransaction emfUserTransaction;
private String entityFactoryName;
@@ -88,13 +102,18 @@
private String processId;
private String processAction;
+ /* Handler settings */
+ private String handlerClass;
+ private String handlerHost;
+ private String handlerPort;
+
KnowledgeBuilder kbuilder;
KnowledgeBase kbase;
private Environment kenvironment;
private KnowledgeSessionConfiguration config;
private StatefulKnowledgeSession ksession = null;
private KnowledgeRuntimeLogger klogger;
- private CommandBasedWSHumanTaskHandler khandler;
+ private WorkItemHandler khandler;
/**
@@ -121,9 +140,14 @@
public Bpm5Processor(ConfigTree configTree) throws ConfigurationException
{
this.configTree = configTree;
+
this.processDefName = configTree.getRequiredAttribute(ProcessConstants.PROCESS_DEFINITION_NAME);
this.processId = configTree.getRequiredAttribute(ProcessConstants.PROCESS_ID);
this.entityFactoryName = configTree.getAttribute(ProcessConstants.ENTITY_FACTORY_NAME, "jbpm5Persistence");
+
+ 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);
// verify the process action
this.processAction = configTree.getRequiredAttribute(ProcessConstants.PROCESS_ACTION);
@@ -140,10 +164,29 @@
config = KnowledgeBaseFactory.newKnowledgeSessionConfiguration(properties);
}
+ public WorkItemHandler getHandler(StatefulKnowledgeSession session) throws ClassNotFoundException,
+ NoSuchMethodException, IllegalAccessException, InstantiationException,
+ InvocationTargetException {
+ Class handlerKlass = ClassUtil.forName(handlerClass, Bpm5Processor.class);
+ WorkItemHandler wih = (WorkItemHandler) handlerKlass.getDeclaredConstructor(KnowledgeRuntime.class).newInstance(session);
+ return wih;
+ }
+
+ public void connectHandler(WorkItemHandler wih)
+ throws ClassNotFoundException, InstantiationException, NoSuchMethodException, IllegalAccessException,
+ InvocationTargetException {
+ Class handlerKlass = ClassUtil.forName(handlerClass, Bpm5Processor.class);
+ Method connectionMethod = handlerKlass.getMethod("setConnection", String.class, Integer.TYPE);
+ connectionMethod.invoke(wih, handlerHost, Integer.valueOf(handlerPort));
+
+ Method connectMethod = handlerKlass.getMethod("connect");
+ connectMethod.invoke(wih);
+ }
+
public Message process(Message message) throws ConfigurationException {
int sessionId = getSessionId(message);
- if ((ksession == null) || (ksession.getId() != sessionId)) {
+ if ((ksession == null) || (sessionId < 0) || (ksession.getId() != sessionId)) {
if (sessionId >= 0) {
ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( sessionId, kbase, config, kenvironment );
} else {
@@ -153,10 +196,20 @@
klogger = KnowledgeRuntimeLoggerFactory.newThreadedFileLogger(ksession, "test", 1000);
}
- khandler = new CommandBasedWSHumanTaskHandler(ksession);
+ try {
+ khandler = getHandler(ksession);
+ } catch (Exception e) {
+ throw new ConfigurationException(e);
+ }
+
ksession.getWorkItemManager().registerWorkItemHandler("Human Task", khandler);
- khandler.connect();
+ try {
+ connectHandler(khandler);
+ } catch (Exception e) {
+ throw new ConfigurationException(e);
+ }
+
// Add security context to message context.
addSecurityContext(message);
// Add authentication request context to message context.
@@ -198,7 +251,7 @@
if (processInstanceId != null) {
ksession.abortProcessInstance(processInstanceId.longValue());
- } else {
+ } else {
throw new ConfigurationException(ProcessConstants.ABORT_PROCESS_INSTANCE_TYPE
+ ": tried to abort and process id was null");
}
@@ -209,8 +262,6 @@
message.getContext().setContext(ProcessConstants.SESSION_ID, sessionId);
message.getContext().setContext(ProcessConstants.PROCESS_INSTANCE_ID,
processInstanceId);
-
- ksession.dispose();
return message;
}
Deleted: labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/resources/META-INF/JBPMorm.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/resources/META-INF/JBPMorm.xml 2012-04-26 19:08:27 UTC (rev 38065)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/services/jbpm5/src/main/resources/META-INF/JBPMorm.xml 2012-04-30 19:57:39 UTC (rev 38066)
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
- version="1.0">
- <named-query name="ProcessInstancesWaitingForEvent">
- <query>
-select
- processInstanceInfo.processInstanceId
-from
- ProcessInstanceInfo processInstanceInfo join processInstanceInfo.eventTypes eventTypes
-where
- eventTypes = :type
- </query>
- </named-query>
-</entity-mappings>
More information about the jboss-svn-commits
mailing list