JBoss JBPM SVN: r1972 - jbpm3/branches/jpdl-3.2.3.CP/bpel/library.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-21 19:41:08 -0400 (Thu, 21 Aug 2008)
New Revision: 1972
Modified:
jbpm3/branches/jpdl-3.2.3.CP/bpel/library/build.xml
Log:
bpel jar could not be built from clean checkout
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/library/build.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/library/build.xml 2008-08-21 23:36:05 UTC (rev 1971)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/library/build.xml 2008-08-21 23:41:08 UTC (rev 1972)
@@ -21,6 +21,8 @@
<target name="compile.test.dependencies"
depends="define.libs.classpath, install.jar, install.config">
+ <!-- install tools jar -->
+ <ant antfile="../tools/build.xml" inheritall="no" />
<path id="compile.test.classpath">
<path refid="libs.classpath" />
<pathelement location="${lib.jbpm.jpdl.jar.local}" />
@@ -31,8 +33,8 @@
<target name="test.dependencies" depends="define.libs.classpath">
<path id="test.classpath">
+ <fileset dir="${jboss.home}/client" includes="*.jar" />
<path refid="libs.classpath" />
- <fileset dir="${jboss.home}/client" includes="*.jar" />
<pathelement location="${lib.jbpm.jpdl.jar.local}" />
<pathelement location="${lib.jbpm.bpel.jar.local}" />
<pathelement location="${lib.jbpm.bpel.tools.jar.local}" />
17 years, 8 months
JBoss JBPM SVN: r1971 - jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm/persistence/jta.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-21 19:36:05 -0400 (Thu, 21 Aug 2008)
New Revision: 1971
Modified:
jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm/persistence/jta/JtaDbPersistenceService.java
jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm/persistence/jta/JtaDbPersistenceServiceFactory.java
Log:
move UserTransaction lookup to persistence service factory: JBPM-1694
Modified: jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm/persistence/jta/JtaDbPersistenceService.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm/persistence/jta/JtaDbPersistenceService.java 2008-08-21 23:24:03 UTC (rev 1970)
+++ jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm/persistence/jta/JtaDbPersistenceService.java 2008-08-21 23:36:05 UTC (rev 1971)
@@ -21,8 +21,6 @@
*/
package org.jbpm.persistence.jta;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
import javax.transaction.SystemException;
import javax.transaction.UserTransaction;
@@ -70,7 +68,7 @@
void beginJtaTransaction() {
try {
log.debug("start user JTA transaction");
- userTransaction = getUserTransaction();
+ userTransaction = ((JtaDbPersistenceServiceFactory) persistenceServiceFactory).getUserTransaction();
userTransaction.begin();
} catch (Exception e) {
throw new JbpmException("couldn't start JTA transaction", e);
@@ -95,27 +93,6 @@
}
}
- UserTransaction getUserTransaction() {
- String jndiName = persistenceServiceFactory.getConfiguration().getProperty("jta.UserTransaction");
- if (jndiName == null) {
- /*
- * EJB 2.1 section 20.9 The container must make the UserTransaction interface available to the
- * enterprise beans that are allowed to use this interface (only session and message-
- * driven beans with bean-managed transaction demarcation are allowed to use this
- * interface) in JNDI under the name java:comp/UserTransaction.
- * J2EE 1.4 section 4.2.1.1 The J2EE platform must provide an object implementing the
- * UserTransaction interface to all web components. The platform must publish the
- * UserTransaction object in JNDI under the name java:comp/UserTransaction.
- */
- jndiName = "java:comp/UserTransaction";
- }
- try {
- return (UserTransaction) new InitialContext().lookup(jndiName);
- } catch (NamingException e) {
- throw new JbpmException("couldn't lookup UserTransaction in JNDI with name "+jndiName, e);
- }
- }
-
int getJtaTransactionStatus() {
try {
return userTransaction.getStatus();
Modified: jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm/persistence/jta/JtaDbPersistenceServiceFactory.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm/persistence/jta/JtaDbPersistenceServiceFactory.java 2008-08-21 23:24:03 UTC (rev 1970)
+++ jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm/persistence/jta/JtaDbPersistenceServiceFactory.java 2008-08-21 23:36:05 UTC (rev 1971)
@@ -21,6 +21,11 @@
*/
package org.jbpm.persistence.jta;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.transaction.UserTransaction;
+
+import org.jbpm.JbpmException;
import org.jbpm.persistence.db.DbPersistenceServiceFactory;
import org.jbpm.svc.Service;
@@ -47,6 +52,8 @@
private static final long serialVersionUID = 1L;
+ private UserTransaction userTransaction;
+
public JtaDbPersistenceServiceFactory() {
setCurrentSessionEnabled(true);
setTransactionEnabled(false);
@@ -55,4 +62,28 @@
public Service openService() {
return new JtaDbPersistenceService(this);
}
+
+ public UserTransaction getUserTransaction() {
+ if (userTransaction == null) {
+ String jndiName = getConfiguration().getProperty("jta.UserTransaction");
+ if (jndiName == null) {
+ /*
+ * EJB 2.1 section 20.9 The container must make the UserTransaction interface available to the
+ * enterprise beans that are allowed to use this interface (only session and message-
+ * driven beans with bean-managed transaction demarcation are allowed to use this
+ * interface) in JNDI under the name java:comp/UserTransaction.
+ * J2EE 1.4 section 4.2.1.1 The J2EE platform must provide an object implementing the
+ * UserTransaction interface to all web components. The platform must publish the
+ * UserTransaction object in JNDI under the name java:comp/UserTransaction.
+ */
+ jndiName = "java:comp/UserTransaction";
+ }
+ try {
+ userTransaction = (UserTransaction) new InitialContext().lookup(jndiName);
+ } catch (NamingException e) {
+ throw new JbpmException("could not retrieve user transaction with name "+jndiName, e);
+ }
+ }
+ return userTransaction;
+ }
}
17 years, 8 months
JBoss JBPM SVN: r1970 - jbpm3/branches/jpdl-3.2.3.CP/build/profiles.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-21 19:24:03 -0400 (Thu, 21 Aug 2008)
New Revision: 1970
Added:
jbpm3/branches/jpdl-3.2.3.CP/build/profiles/jboss423.profile.properties
Log:
ensure compatibility with jboss 4.2.3.GA: BPEL-296
Added: jbpm3/branches/jpdl-3.2.3.CP/build/profiles/jboss423.profile.properties
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/build/profiles/jboss423.profile.properties (rev 0)
+++ jbpm3/branches/jpdl-3.2.3.CP/build/profiles/jboss423.profile.properties 2008-08-21 23:24:03 UTC (rev 1970)
@@ -0,0 +1,10 @@
+jboss.version=4.2.3.GA
+
+javac.source=1.5
+javac.target=1.5
+
+lib.jbossws.version=3.0.1-native-2.0.4.GA
+lib.jbossws.name=jbossws-client.jar
+lib.jbossws.dir=jbossws/${lib.jbossws.version}/lib
+
+lib.jbpm.bpel.container.jar.file=jbpm-bpel-jboss420.jar
17 years, 8 months
JBoss JBPM SVN: r1969 - jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-21 19:23:11 -0400 (Thu, 21 Aug 2008)
New Revision: 1969
Modified:
jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm/JbpmConfiguration.java
Log:
minor performance improvement to JbpmConfiguration.close()
Modified: jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm/JbpmConfiguration.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm/JbpmConfiguration.java 2008-08-21 23:22:35 UTC (rev 1968)
+++ jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/src/main/java/org/jbpm/JbpmConfiguration.java 2008-08-21 23:23:11 UTC (rev 1969)
@@ -493,11 +493,10 @@
try {
synchronized (instances) {
- Iterator iter = instances.keySet().iterator();
+ Iterator iter = instances.values().iterator();
while(iter.hasNext()) {
- String resource = (String) iter.next();
- if (this==instances.get(resource)) {
- instances.remove(resource);
+ if (this==iter.next()) {
+ iter.remove();
break;
}
}
17 years, 8 months
JBoss JBPM SVN: r1968 - in jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm: scheduler/ejbtimer and 1 other directory.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-21 19:22:35 -0400 (Thu, 21 Aug 2008)
New Revision: 1968
Modified:
jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/msg/jms/JmsMessageServiceFactoryImpl.java
jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/scheduler/ejbtimer/EjbSchedulerService.java
jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/scheduler/ejbtimer/EjbSchedulerServiceFactory.java
jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/scheduler/ejbtimer/EntitySchedulerServiceFactory.java
Log:
restored the ability to override the jndi names used by the enterprise service factories in jbpm.cfg.xml: JBPM-960
Modified: jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/msg/jms/JmsMessageServiceFactoryImpl.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/msg/jms/JmsMessageServiceFactoryImpl.java 2008-08-21 23:16:05 UTC (rev 1967)
+++ jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/msg/jms/JmsMessageServiceFactoryImpl.java 2008-08-21 23:22:35 UTC (rev 1968)
@@ -30,8 +30,6 @@
import javax.naming.InitialContext;
import javax.naming.NamingException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.jbpm.JbpmException;
import org.jbpm.ejb.impl.JobListenerBean;
import org.jbpm.svc.Service;
@@ -59,7 +57,6 @@
public class JmsMessageServiceFactoryImpl implements ServiceFactory {
private static final long serialVersionUID = 1L;
- private static final Log log = LogFactory.getLog(JmsMessageServiceFactoryImpl.class);
String connectionFactoryJndiName = "java:comp/env/jms/JbpmConnectionFactory";
String destinationJndiName = "java:comp/env/jms/JobQueue";
@@ -68,37 +65,55 @@
private ConnectionFactory connectionFactory;
private Destination destination;
- public JmsMessageServiceFactoryImpl() {
+ public ConnectionFactory getConnectionFactory() {
+ if (connectionFactory == null) {
+ try {
+ connectionFactory = (ConnectionFactory) lookup(connectionFactoryJndiName);
+ }
+ catch (NamingException e) {
+ throw new JbpmException("could not retrieve message connection factory", e);
+ }
+ }
+ return connectionFactory;
+ }
+
+ public Destination getDestination() {
+ if (destination == null) {
+ try {
+ destination = (Destination) lookup(destinationJndiName);
+ }
+ catch (NamingException e) {
+ throw new JbpmException("could not retrieve message destination", e);
+ }
+ }
+ return destination;
+ }
+
+ private static Object lookup(String name) throws NamingException {
+ Context initialContext = new InitialContext();
try {
- Context initial = new InitialContext();
- connectionFactory = (ConnectionFactory) initial.lookup(connectionFactoryJndiName);
- destination = (Destination) initial.lookup(destinationJndiName);
- initial.close();
+ return initialContext.lookup(name);
}
- catch (NamingException e) {
- log.error("jms object lookup problem", e);
- throw new JbpmException("jms object lookup problem", e);
+ finally {
+ initialContext.close();
}
}
public Service openService() {
- Connection connection = null;
- Session session = null;
-
try {
- connection = connectionFactory.createConnection();
-
+ Connection connection = getConnectionFactory().createConnection();
+
// If you use an XA connection factory in JBoss, the parameters will be ignored. It will always take part in the global JTA transaction.
// If you use a non XQ connection factory, the first parameter specifies whether you want to have all message productions and
// consumptions as part of one transaction (TRUE) or whether you want all productions and consumptions to be instantanious (FALSE)
// Of course, we never want messages to be received before the current jbpm transaction commits so we just set it to true.
- session = connection.createSession(true, Session.SESSION_TRANSACTED);
-
- } catch (JMSException e) {
+ Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
+
+ return new JmsMessageServiceImpl(connection, session, getDestination(), isCommitEnabled);
+ }
+ catch (JMSException e) {
throw new JbpmException("couldn't open jms message session", e);
}
-
- return new JmsMessageServiceImpl(connection, session, destination, isCommitEnabled);
}
public void close() {
Modified: jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/scheduler/ejbtimer/EjbSchedulerService.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/scheduler/ejbtimer/EjbSchedulerService.java 2008-08-21 23:16:05 UTC (rev 1967)
+++ jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/scheduler/ejbtimer/EjbSchedulerService.java 2008-08-21 23:22:35 UTC (rev 1968)
@@ -14,6 +14,10 @@
import org.jbpm.job.Timer;
import org.jbpm.scheduler.SchedulerService;
+/**
+ * @author Tom Baeyens
+ * @deprecated replaced by {@link EntitySchedulerService}
+ */
public class EjbSchedulerService implements SchedulerService {
private static final long serialVersionUID = 1L;
Modified: jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/scheduler/ejbtimer/EjbSchedulerServiceFactory.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/scheduler/ejbtimer/EjbSchedulerServiceFactory.java 2008-08-21 23:16:05 UTC (rev 1967)
+++ jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/scheduler/ejbtimer/EjbSchedulerServiceFactory.java 2008-08-21 23:22:35 UTC (rev 1968)
@@ -1,37 +1,37 @@
package org.jbpm.scheduler.ejbtimer;
-import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.jbpm.JbpmException;
import org.jbpm.svc.Service;
import org.jbpm.svc.ServiceFactory;
+/**
+ * @author Tom Baeyens
+ * @deprecated replaced by {@link EntitySchedulerServiceFactory}
+ */
public class EjbSchedulerServiceFactory implements ServiceFactory {
private static final long serialVersionUID = 1L;
- private static final Log log = LogFactory.getLog(EjbSchedulerServiceFactory.class);
-
String timerServiceHomeJndiName = "java:comp/env/ejb/LocalTimerServiceBean";
private LocalTimerServiceHome timerServiceHome;
- public EjbSchedulerServiceFactory() {
- try {
- Context initial = new InitialContext();
- timerServiceHome = (LocalTimerServiceHome) initial.lookup(timerServiceHomeJndiName);
- } catch (NamingException e) {
- log.error("ejb timer service lookup problem", e);
- throw new JbpmException("ejb timer service lookup problem", e);
+ public LocalTimerServiceHome getTimerServiceHome() {
+ if (timerServiceHome == null) {
+ try {
+ timerServiceHome = (LocalTimerServiceHome) new InitialContext().lookup(timerServiceHomeJndiName);
+ } catch (NamingException e) {
+ throw new JbpmException("ejb timer service lookup problem", e);
+ }
}
+ return timerServiceHome;
}
public Service openService() {
- return new EjbSchedulerService(timerServiceHome);
+ return new EjbSchedulerService(getTimerServiceHome());
}
public void close() {
Modified: jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/scheduler/ejbtimer/EntitySchedulerServiceFactory.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/scheduler/ejbtimer/EntitySchedulerServiceFactory.java 2008-08-21 23:16:05 UTC (rev 1967)
+++ jbpm3/branches/jpdl-3.2.3.CP/enterprise/src/main/java/org/jbpm/scheduler/ejbtimer/EntitySchedulerServiceFactory.java 2008-08-21 23:22:35 UTC (rev 1968)
@@ -1,11 +1,8 @@
package org.jbpm.scheduler.ejbtimer;
-import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.jbpm.JbpmException;
import org.jbpm.ejb.LocalTimerEntityHome;
import org.jbpm.job.Timer;
@@ -34,24 +31,23 @@
private static final long serialVersionUID = 1L;
- private static final Log log = LogFactory.getLog(EntitySchedulerServiceFactory.class);
-
String timerEntityHomeJndiName = "java:comp/env/ejb/LocalTimerEntityBean";
private LocalTimerEntityHome timerEntityHome;
- public EntitySchedulerServiceFactory() {
- try {
- Context initial = new InitialContext();
- timerEntityHome = (LocalTimerEntityHome) initial.lookup(timerEntityHomeJndiName);
- } catch (NamingException e) {
- log.error("ejb timer entity lookup problem", e);
- throw new JbpmException("ejb timer entity lookup problem", e);
+ public LocalTimerEntityHome getTimerEntityHome() {
+ if (timerEntityHome == null) {
+ try {
+ timerEntityHome = (LocalTimerEntityHome) new InitialContext().lookup(timerEntityHomeJndiName);
+ } catch (NamingException e) {
+ throw new JbpmException("ejb timer entity lookup problem", e);
+ }
}
+ return timerEntityHome;
}
public Service openService() {
- return new EntitySchedulerService(timerEntityHome);
+ return new EntitySchedulerService(getTimerEntityHome());
}
public void close() {
17 years, 8 months
JBoss JBPM SVN: r1967 - jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/modules.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-21 19:16:05 -0400 (Thu, 21 Aug 2008)
New Revision: 1967
Modified:
jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/modules/gettingStarted.xml
Log:
document jboss deployment order: BPEL-291
document transaction manager behavior: BPEL-298
document proxy warn logs: BPEL-299
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/modules/gettingStarted.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/modules/gettingStarted.xml 2008-08-21 23:01:15 UTC (rev 1966)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/modules/gettingStarted.xml 2008-08-21 23:16:05 UTC (rev 1967)
@@ -60,7 +60,7 @@
<row>
<entry>Host</entry>
- <entry>anoncvs.forge.jboss.com</entry>
+ <entry>anoncvs.jboss.org</entry>
</row>
<row>
@@ -158,6 +158,13 @@
<entry/>
</row>
+ <row>
+ <entry>1.5.0</entry>
+ <entry>4.2.3.GA</entry>
+ <entry>default</entry>
+ <entry/>
+ </row>
+
</tbody>
</tgroup>
@@ -264,9 +271,11 @@
<para>Among the properties in <literal>jbpm.hibernate.cfg.xml</literal>, <literal>
hibernate.connection.datasource</literal> is of particular interest. This property
specifies the name of a data source in the JNDI registry. The preset value,
- <literal>java:/DefaultDS</literal>, references a predeployed data source in
- JBoss AS.</para>
-
+ <literal>java:JbpmDS</literal>, references the data source contained in the
+ <literal>jbpm-ds.xml</literal> descriptor, located in the <literal>deploy</literal>
+ directory. The build file there deploys the data source before the jBPM BPEL
+ enterprise app to ensure the <literal>java:JbpmDS</literal> name is bound.</para>
+
</section>
<section id="getstarted.setup.config.jbpm">
@@ -342,7 +351,7 @@
<section id="getstarted.setup.deploy">
- <title>Deployment</title>
+ <title>Application deployment</title>
<para>Before deploying the service, start JBoss in the server configuration of your choice
(see <ulink url="http://tinyurl.com/rjqkb">Server Configurations</ulink>). Afterward,
@@ -383,10 +392,19 @@
</section>
- <section id="getstarted.setup.restart">
+ </section>
- <title>Remarks on server restart</title>
+ <section id="getstarted.server">
+ <title>Application server notes</title>
+
+ <para>The present section documents known features in JBoss which may affect jBPM BPEL
+ deployments.</para>
+
+ <section id="getstarted.server.restart">
+
+ <title>Server restart</title>
+
<para>The predefined deployment order in JBoss AS results in exceptional behavior when
jBPM BPEL application is up and running, one or more process definitions have been
deployed and the server restarts.</para>
@@ -403,15 +421,18 @@
<orderedlist>
- <listitem><para>Locate the <literal>MainDeployer</literal> service under the
- <literal>jboss.system</literal> category in the JMX agent view.</para></listitem>
+ <listitem><para>Locate the <literal>org.jboss.deployment.MainDeployer-xmbean.xml
+ </literal> file under the <literal>conf/xmdesc</literal> directory of your
+ preferred server profile. For the default profile, the location is
+ <literal>jboss-<version>/server/default/conf/xmdesc</literal>.</para>
+ </listitem>
- <listitem><para>Scroll down until you see the <literal>EnhancedSuffixOrder</literal>
- attribute.</para></listitem>
+ <listitem><para>Look for the <literal>EnhancedSuffixOrder</literal> attribute.</para>
+ </listitem>
<listitem>
- <para>In the value text field, insert the <literal>jbpm-bpel.jar</literal> suffix
+ <para>In the value element, insert the <literal>jbpm-bpel.jar</literal> suffix
anywhere you see fit, <emphasis>before</emphasis> the <literal>.war</literal> suffix.
For example,</para>
@@ -419,17 +440,130 @@
</listitem>
- <listitem><para>Apply the changes. The actual suffix order will not change till the next
- restart.</para></listitem>
+ <listitem><para>Save the file. The change will not apply till the next restart.</para>
+ </listitem>
</orderedlist>
-
- <note><para>The above attribute can be set directly in this file as well:</para>
- <para><literal>conf/xmdesc/org.jboss.deployment.MainDeployer-xmbean.xml</literal></para>
- </note>
</section>
+ <section id="getstarted.server.transactions">
+
+ <title>Transaction manager</title>
+
+ <para>From JBoss AS 4.2 onwards, a new transaction manager based on technology
+ acquired from Arjuna replaced the traditional transaction manager. jBPM BPEL relies
+ on the transaction manager to ensure consistent changes to the transactional resources
+ it employs, namely the data source, the EJB timer service and the JMS connection
+ factory.</para>
+
+ <para>While jBPM BPEL works transparently with either transaction manager, it is worth
+ noting that the Arjuna based one is less lenient to non-XA resources. Many databases
+ do not provide XA data sources. Transaction managers are able to deal with at most
+ one local transaction resource, by enlisting it as the last resource. Beyond that,
+ consistency cannot be guaranteed.</para>
+
+ <para>In a pristine JBoss AS 4.2 installation, the EJB timer service is backed by an
+ HSQL data source, which is <emphasis>not</emphasis> XA enabled. If jBPM BPEL is
+ also bound to a local transaction data source, the transaction manager will complain
+ about multiple last resources being enlisted, and mark the transaction for roll back.
+ </para>
+
+ <para>There are quite a few ways out of the above embroilment.</para>
+
+ <orderedlist>
+
+ <listitem><para>Bind jBPM BPEL, the EJB timer service, or both, to an XA data source.
+ </para></listitem>
+
+ <listitem><para>Bind jBPM BPEL and the EJB timer service to the same data source.</para>
+ </listitem>
+
+ <listitem><para>Disable EJB timer persistence.</para></listitem>
+
+ <listitem><para>Configure the new transaction manager to allow multiple last resources.
+ </para></listitem>
+
+ <listitem><para>Revert to the old transaction manager, which allows multiple last
+ resources.</para></listitem>
+
+ </orderedlist>
+
+ <para>Indeed, the first proposal is the only real solution; the rest are workarounds.
+ However, using an XA data source during process development and testing may not be
+ convenient or feasible.</para>
+
+ <para>To change the EJB timer service data source, proceed as follows.</para>
+
+ <orderedlist>
+
+ <listitem><para>Locate file <literal>ejb-deployer.xml</literal> in the
+ <literal>deploy</literal> directory of your server profile.</para></listitem>
+
+ <listitem>
+
+ <para>Look for the
+ <literal>jboss.ejb:service=EJBTimerService,persistencePolicy=database</literal>
+ managed bean.</para>
+
+ <programlisting><![CDATA[<mbean code="org.jboss.ejb.txtimer.DatabasePersistencePolicy"
+name="jboss.ejb:service=EJBTimerService,persistencePolicy=database">
+ <!-- DataSourceBinding ObjectName -->
+ <depends optional-attribute-name="DataSource">
+ jboss.jca:service=DataSourceBinding,name=DefaultDS
+ </depends>
+ <!-- The plugin that handles database persistence -->
+ <attribute name="DatabasePersistencePlugin">
+ org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin
+ </attribute>
+ <!-- The timers table name -->
+ <attribute name="TimersTable">TIMERS</attribute>
+</mbean>]]></programlisting>
+
+ </listitem>
+
+ <listitem><para>Set the <literal>DataSource</literal> attribute to the data source
+ of your liking.</para></listitem>
+
+ </orderedlist>
+
+ <para>To disable EJB timer persistence, look for the <literal>
+ jboss.ejb:service=EJBTimerService</literal> bean in <literal>ejb-deployer.xml</literal>.
+ Set the <literal>PersistencePolicy</literal> to <literal>
+ jboss.ejb:service=EJBTimerService,persistencePolicy=noop</literal>.</para>
+
+ <para>The solutions that involve changes in the transaction manager
+ are documented in the <ulink url="http://wiki.jboss.org/wiki/DeployJbpm3.2WebAppUnderJBoss4.2.x">
+ wiki knowledge base</ulink>.</para>
+
+ </section>
+
+ <section>
+
+ <title>Logging</title>
+
+ <para>The Hibernate <ulink
+ url="http://www.hibernate.org/hib_docs/v3/reference/en/html/performance.html#p...">
+ user guide</ulink> documents some pitfalls that developers must be aware of while
+ developing polymorphic classes. Hibernate even goes the extra mile and emits a warning
+ the moment a second proxy is acquired for a given persistence object. The next console
+ output corresponds to one such warning.</para>
+
+ <screen>WARN [ProxyWarnLog] Narrowing proxy to class org.jbpm.bpel.graph.def.CompositeActivity&nextLine;
+- this operation breaks ==</screen>
+
+ <para>jBPM's extensive use of polymorphism triggers many of these warnings, despite
+ being legitimate and perfectly safe. If the above warning annoys you, it can be turned
+ off in the log4j configuration file <literal>jboss-log4j.xml</literal>, placed in the
+ <literal>conf</literal> directory of your server profile. Just add the category below.</para>
+
+ <programlisting><![CDATA[<!-- Turn off proxy warnings -->
+<category name="org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog">
+ <priority value="OFF"/>
+</category>]]></programlisting>
+
+ </section>
+
</section>
-</chapter>
\ No newline at end of file
+</chapter>
17 years, 8 months
JBoss JBPM SVN: r1966 - in jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en: modules and 1 other directory.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-21 19:01:15 -0400 (Thu, 21 Aug 2008)
New Revision: 1966
Added:
jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/images/loanEvaluation.png
jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/images/loanMain.png
Modified:
jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/modules/loanExample.xml
jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/modules/tripExample.xml
Log:
provide a human task management example: BPEL-268
Added: jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/images/loanEvaluation.png
===================================================================
(Binary files differ)
Property changes on: jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/images/loanEvaluation.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/images/loanMain.png
===================================================================
(Binary files differ)
Property changes on: jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/images/loanMain.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/modules/loanExample.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/modules/loanExample.xml 2008-08-21 22:59:44 UTC (rev 1965)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/modules/loanExample.xml 2008-08-21 23:01:15 UTC (rev 1966)
@@ -21,4 +21,156 @@
<para>The next diagram depicts the loan process.</para>
+ <figure id="tutorial.loan.main">
+ <title>Loan process</title>
+ <mediaobject><imageobject><imagedata align="center" fileref="images/loanMain.png"
+ width="4.02in" depth="4.41in" scalefit="0" /></imageobject></mediaobject>
+ </figure>
+
+ <section id="tutorial.loan.def">
+
+ <title>Define the BPEL process</title>
+
+ <section id="tutorial.loan.def.bpel">
+
+ <title>Create the BPEL document</title>
+
+ <para>The process begins with the arrival of a loan application from a customer. The
+ requested amount is evaluated. Loans under $1000 are approved automatically. Loans
+ over that quantity are submitted to an agent for further evaluation.</para>
+
+ <para>The borrower may ask for the loan application status at any time. The status
+ is either <emphasis>evaluating</emphasis>, <emphasis>approved</emphasis> or
+ <emphasis>rejected</emphasis>. Once the borrower is informed the loan has been
+ approved or rejected, the process ends.</para>
+
+ <programlisting><![CDATA[<process name="LoanApproval"
+ targetNamespace="http://jbpm.org/examples/loan"
+ xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ xmlns:jbpm="urn:jbpm.org:bpel-1.1" xmlns:loan="http://jbpm.org/examples/loan"
+ xmlns:task="http://jbpm.org/examples/task"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <import importType="http://schemas.xmlsoap.org/wsdl/"
+ location="loan.wsdl" namespace="http://jbpm.org/examples/loan" />
+ <import importType="http://schemas.xmlsoap.org/wsdl/"
+ location="interface/loaner.wsdl" namespace="http://jbpm.org/examples/loan" />
+ <import importType="http://schemas.xmlsoap.org/wsdl/"
+ location="interface/task.wsdl" namespace="http://jbpm.org/examples/task" />
+ <partnerLinks>
+ <partnerLink myRole="loaner" name="borrower"
+ partnerLinkType="loan:borrower-loaner" />
+ </partnerLinks>
+ <variables>
+ <variable messageType="loan:loanRequest" name="loanRequest" />
+ <variable messageType="loan:statusResponse" name="statusResponse" />
+ <variable messageType="loan:statusRequest" name="statusRequest" />
+ </variables>
+ <correlationSets>
+ <correlationSet name="borrowerName" properties="loan:borrowerName" />
+ </correlationSets>
+ <sequence name="Main">
+ <receive createInstance="yes" name="AcceptLoanRequest"
+ operation="requestLoan" partnerLink="borrower" portType="loan:Loaner"
+ variable="loanRequest">
+ <correlations>
+ <correlation initiate="yes" set="borrowerName" />
+ </correlations>
+ </receive>
+ <if name="EvaluateAmount">
+ <condition>$loanRequest.amount < 1000</condition>
+ <assign name="ApproveLoan" validate="no">
+ <copy>
+ <from>'approved'</from>
+ <to part="status" variable="statusResponse" />
+ </copy>
+ </assign>
+ <else>
+ <scope name="EscalateToAgent">
+ ...
+ </scope>
+ </else>
+ </if>
+ <receive name="AcceptStatusRequest" operation="getLoanStatus"
+ partnerLink="borrower" portType="loan:Loaner" variable="statusRequest">
+ <correlations>
+ <correlation initiate="no" set="borrowerName" />
+ </correlations>
+ </receive>
+ <reply name="SendStatus" operation="getLoanStatus"
+ partnerLink="borrower" portType="loan:Loaner" variable="statusResponse" />
+ </sequence>
+</process>]]></programlisting>
+
+ <para>Large loans are made available to agents as follows. The task manager service
+ is contacted to create a new task. Said service returns the identifier given to
+ the task. The process sits down while awaiting a task end notification. Once the
+ message arrives, the loan veredict is extracted from the message and made available
+ to the borrower.</para>
+
+ <figure id="tutorial.loan.evaluation">
+ <title>Loan evaluation</title>
+ <mediaobject><imageobject><imagedata align="center" fileref="images/loanEvaluation.png"
+ width="6.1in" depth="6in" scalefit="0" /></imageobject></mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="tutorial.loan.def.wsdl">
+
+ <title>Create/obtain the WSDL interface documents</title>
+
+ <para>TODO</para>
+
+ </section>
+
+ <section id="tutorial.loan.def.deploy">
+
+ <title>Deploy the process definition</title>
+
+ <para>To deploy the process to the jBPM BPEL application, run the next ant target.</para>
+
+ <synopsis>ant deploy.process</synopsis>
+
+ <para>Launch the task manager service by changing to the <literal>task</literal> directory
+ and executing the target below.</para>
+
+ <synopsis>ant deploy.webservice</synopsis>
+
+ </section>
+
+ </section>
+
+ <section id="tutorial.loan.client">
+
+ <title>Build the WSEE application client</title>
+
+ <para>TODO</para>
+
+ </section>
+
+ <section id="tutorial.loan.test">
+
+ <title>Test the process</title>
+
+ <para>The test case <literal>LoanerTest</literal> is provided to verify the correctness of
+ the loan approval process.</para>
+
+ <section id="tutorial.loan.test.run">
+
+ <title>Test execution</title>
+
+ <para>To execute the JUnit test, call:</para>
+
+ <synopsis>ant test</synopsis>
+
+ <para>The listing below displays the expected test results.</para>
+
+ <screen>test:
+ [junit] Running org.jbpm.bpel.tutorial.loan.LoanerTest
+ [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 4.754 sec</screen>
+
+ </section>
+
+ </section>
+
</chapter>
\ No newline at end of file
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/modules/tripExample.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/modules/tripExample.xml 2008-08-21 22:59:44 UTC (rev 1965)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/userguide/en/modules/tripExample.xml 2008-08-21 23:01:15 UTC (rev 1966)
@@ -543,11 +543,11 @@
WSDL definitions. It imports <literal>ticket.wsdl</literal> to access
the definitions specific to the ticket issuer.</para>
- <para>Deploy the process definition to the jBPM database calling:</para>
+ <para>Deploy the process definition to the jBPM BPÈL application by calling:</para>
<synopsis>ant deploy.process</synopsis>
- <para>The <literal>deploy-process</literal> target builds the process archive
+ <para>The <literal>deploy.process</literal> target builds the process archive
<literal>trip.zip</literal> and submits it to the deployment servlet.
In a typical deployment the server prints these messages:</para>
@@ -564,13 +564,13 @@
<para>Back in the description of the process, we mentioned a partner service that
generates unique trip locators. Make sure you deploy that service before any
reservation is placed, or the process will malfunction and your virtual travelers
- will be very angry. Change to the <literal>ticket</literal> directory and trigger
+ will be very angry. Change to the <literal>ticket</literal> directory and launch
the following target.</para>
<synopsis>ant deploy.webservice</synopsis>
-
+
<para>The next few lines confirm a successful deployment.</para>
-
+
<screen>18:12:44,421 INFO [DefaultEndpointRegistry] register: jboss.ws:context=ticket,&nextLine;
endpoint=ticketIssuerServlet
18:12:44,437 INFO [TomcatDeployer] deploy, ctxPath=/ticket, warUrl=...
@@ -579,13 +579,13 @@
<para>The JBossWS service endpoints page should be showing a picture similar to the
next one. Of course, the host address and port shown may vary, depending on your
server bind address.</para>
-
+
<figure id="tutorial.trip.endpoints">
<title>Endpoints page</title>
<mediaobject><imageobject><imagedata fileref="images/tripEndpoints.png" align="center"
width="6.03in" depth="4.61in" scalefit="0" /></imageobject></mediaobject>
</figure>
-
+
<note><para>It is worth pointing BPEL endpoints are intermixed with Java and EJB
endpoints in the list. For all intents and purposes, BPEL endpoints are no different.
</para></note>
@@ -609,7 +609,7 @@
</section>
- <section id="tutorial.trip.client">
+ <section id="tutorial.trip.client">
<title>Build the WSEE application client</title>
17 years, 8 months
JBoss JBPM SVN: r1965 - in jbpm3/branches/jpdl-3.2.3.CP/bpel/examples: loan/src/main/bpel/interface and 4 other directories.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-21 18:59:44 -0400 (Thu, 21 Aug 2008)
New Revision: 1965
Modified:
jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel/interface/loaner.wsdl
jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel/interface/task.wsdl
jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel/loan.bpel
jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/interface/loaner.wsdl
jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/interface/task.wsdl
jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/loan.bpel
jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/loan.bpelex
jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/java/org/jbpm/bpel/tutorial/task/TaskManager_Impl.java
jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/resources/web/wsdl/task-management.wsdl
jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/resources/web/wsdl/task-request.wsdl
jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/resources/web/wsdl/task.wsdl
Log:
provide a human task management example: BPEL-268
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel/interface/loaner.wsdl
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel/interface/loaner.wsdl 2008-08-21 21:48:55 UTC (rev 1964)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel/interface/loaner.wsdl 2008-08-21 22:59:44 UTC (rev 1965)
@@ -2,31 +2,35 @@
<definitions name="loaner" targetNamespace="http://jbpm.org/examples/loan"
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://jbpm.org/examples/loan">
- <types><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://jbpm.org/examples/loan">
- <xsd:simpleType name="LoanStatus">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="evaluating"></xsd:enumeration>
- <xsd:enumeration value="approved"></xsd:enumeration>
- <xsd:enumeration value="rejected"></xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType></xsd:schema></types>
- <message name="loanRequest">
- <part name="borrower" type="xsd:string"></part>
- <part name="amount" type="xsd:double" />
+ <types>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://jbpm.org/examples/loan">
+ <xsd:simpleType name="LoanStatus">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="evaluating" />
+ <xsd:enumeration value="approved" />
+ <xsd:enumeration value="rejected" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:schema>
+ </types>
+ <message name="loanRequest">
+ <part name="borrower" type="xsd:string" />
+ <part name="amount" type="xsd:double" />
</message>
<message name="statusRequest">
- <part name="borrower" type="xsd:string"></part>
+ <part name="borrower" type="xsd:string" />
</message>
<message name="statusResponse">
- <part name="status" type="tns:LoanStatus"></part>
+ <part name="status" type="tns:LoanStatus" />
</message>
<portType name="Loaner">
<operation name="requestLoan">
<input message="tns:loanRequest" />
</operation>
<operation name="getLoanStatus">
- <input message="tns:statusRequest"></input>
- <output message="tns:statusResponse"></output>
+ <input message="tns:statusRequest" />
+ <output message="tns:statusResponse" />
</operation>
</portType>
</definitions>
\ No newline at end of file
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel/interface/task.wsdl
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel/interface/task.wsdl 2008-08-21 21:48:55 UTC (rev 1964)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel/interface/task.wsdl 2008-08-21 22:59:44 UTC (rev 1965)
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="task" targetNamespace="http://jbpm.org/examples/task"
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://jbpm.org/examples/task"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
<types>
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://jbpm.org/examples/task">
<xsd:complexType name="TaskInfo">
<xsd:sequence>
- <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="taskId" type="xsd:long" />
<xsd:attribute name="name" type="xsd:string" />
@@ -17,12 +17,13 @@
</xsd:complexType>
<xsd:complexType name="TaskList">
<xsd:sequence>
- <xsd:element name="taskInfo" type="tns:TaskInfo" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="taskInfo" type="tns:TaskInfo"
+ minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"
+ <xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"
schemaLocation="addressing.xsd" />
</xsd:schema>
</types>
@@ -36,6 +37,7 @@
<message name="endTaskRequest">
<part name="taskInfo" type="tns:TaskInfo" />
</message>
+ <message name="endTaskResponse" />
<message name="getTaskListRequest">
<part name="actorId" type="xsd:string" />
</message>
@@ -49,6 +51,7 @@
</operation>
<operation name="endTask">
<input message="tns:endTaskRequest" />
+ <output message="tns:endTaskResponse" />
</operation>
<operation name="getTaskList">
<input message="tns:getTaskListRequest" />
@@ -58,6 +61,7 @@
<portType name="TaskCallback">
<operation name="taskEnded">
<input message="tns:endTaskRequest" />
+ <output message="tns:endTaskResponse" />
</operation>
</portType>
</definitions>
\ No newline at end of file
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel/loan.bpel
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel/loan.bpel 2008-08-21 21:48:55 UTC (rev 1964)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel/loan.bpel 2008-08-21 22:59:44 UTC (rev 1965)
@@ -51,6 +51,7 @@
<variable name="taskCreationResponse" messageType="task:createTaskResponse" />
<variable name="taskCreationRequest" messageType="task:createTaskRequest" />
<variable name="taskEndedNotification" messageType="task:endTaskRequest" />
+ <variable name="taskEndedConfirmation" messageType="task:endTaskResponse" />
</variables>
<correlationSets>
@@ -105,14 +106,22 @@
<correlation set="evaluationTask" />
</correlations>
- <assign name="ReadEvaluationResult">
- <copy>
- <from variable="taskEndedNotification" part="taskInfo"
- query="/taskInfo/loanStatus" />
- <to part="status" variable="statusResponse" />
- </copy>
- </assign>
+ <sequence name="CloseEvaluationTaskSeq">
+ <assign name="ReadEvaluationResult">
+ <copy>
+ <from variable="taskEndedNotification" part="taskInfo"
+ query="/taskInfo/loanStatus" />
+ <to part="status" variable="statusResponse" />
+ </copy>
+ </assign>
+
+ <reply name="ConfirmEvaluationTaskEnded" partnerLink="taskManager"
+ portType="task:TaskCallback" operation="taskEnded"
+ variable="taskEndedConfirmation" />
+
+ </sequence>
+
</onMessage>
<onMessage partnerLink="borrower" portType="loan:Loaner" operation="getLoanStatus"
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/interface/loaner.wsdl
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/interface/loaner.wsdl 2008-08-21 21:48:55 UTC (rev 1964)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/interface/loaner.wsdl 2008-08-21 22:59:44 UTC (rev 1965)
@@ -2,31 +2,35 @@
<definitions name="loaner" targetNamespace="http://jbpm.org/examples/loan"
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://jbpm.org/examples/loan">
- <types><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://jbpm.org/examples/loan">
- <xsd:simpleType name="LoanStatus">
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="evaluating"></xsd:enumeration>
- <xsd:enumeration value="approved"></xsd:enumeration>
- <xsd:enumeration value="rejected"></xsd:enumeration>
- </xsd:restriction>
- </xsd:simpleType></xsd:schema></types>
- <message name="loanRequest">
- <part name="borrower" type="xsd:string"></part>
- <part name="amount" type="xsd:double" />
+ <types>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://jbpm.org/examples/loan">
+ <xsd:simpleType name="LoanStatus">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="evaluating" />
+ <xsd:enumeration value="approved" />
+ <xsd:enumeration value="rejected" />
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:schema>
+ </types>
+ <message name="loanRequest">
+ <part name="borrower" type="xsd:string" />
+ <part name="amount" type="xsd:double" />
</message>
<message name="statusRequest">
- <part name="borrower" type="xsd:string"></part>
+ <part name="borrower" type="xsd:string" />
</message>
<message name="statusResponse">
- <part name="status" type="tns:LoanStatus"></part>
+ <part name="status" type="tns:LoanStatus" />
</message>
<portType name="Loaner">
<operation name="requestLoan">
<input message="tns:loanRequest" />
</operation>
<operation name="getLoanStatus">
- <input message="tns:statusRequest"></input>
- <output message="tns:statusResponse"></output>
+ <input message="tns:statusRequest" />
+ <output message="tns:statusResponse" />
</operation>
</portType>
</definitions>
\ No newline at end of file
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/interface/task.wsdl
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/interface/task.wsdl 2008-08-21 21:48:55 UTC (rev 1964)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/interface/task.wsdl 2008-08-21 22:59:44 UTC (rev 1965)
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="task" targetNamespace="http://jbpm.org/examples/task"
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://jbpm.org/examples/task"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
<types>
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://jbpm.org/examples/task">
<xsd:complexType name="TaskInfo">
<xsd:sequence>
- <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="taskId" type="xsd:long" />
<xsd:attribute name="name" type="xsd:string" />
@@ -17,12 +17,13 @@
</xsd:complexType>
<xsd:complexType name="TaskList">
<xsd:sequence>
- <xsd:element name="taskInfo" type="tns:TaskInfo" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="taskInfo" type="tns:TaskInfo"
+ minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"
+ <xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"
schemaLocation="addressing.xsd" />
</xsd:schema>
</types>
@@ -36,6 +37,7 @@
<message name="endTaskRequest">
<part name="taskInfo" type="tns:TaskInfo" />
</message>
+ <message name="endTaskResponse" />
<message name="getTaskListRequest">
<part name="actorId" type="xsd:string" />
</message>
@@ -49,6 +51,7 @@
</operation>
<operation name="endTask">
<input message="tns:endTaskRequest" />
+ <output message="tns:endTaskResponse" />
</operation>
<operation name="getTaskList">
<input message="tns:getTaskListRequest" />
@@ -58,6 +61,7 @@
<portType name="TaskCallback">
<operation name="taskEnded">
<input message="tns:endTaskRequest" />
+ <output message="tns:endTaskResponse" />
</operation>
</portType>
</definitions>
\ No newline at end of file
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/loan.bpel
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/loan.bpel 2008-08-21 21:48:55 UTC (rev 1964)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/loan.bpel 2008-08-21 22:59:44 UTC (rev 1965)
@@ -1,18 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<bpws:process exitOnStandardFault="yes" name="LoanApproval"
+<bpws:process name="LoanApproval"
targetNamespace="http://jbpm.org/examples/loan"
xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:jbpm="urn:jbpm.org:bpel-1.1" xmlns:loan="http://jbpm.org/examples/loan"
xmlns:task="http://jbpm.org/examples/task"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <bpws:import importType="http://schemas.xmlsoap.org/wsdl/" location="loan.wsdl"
- namespace="http://jbpm.org/examples/loan" />
- <bpws:import importType="http://schemas.xmlsoap.org/wsdl/" location="interface/loaner.wsdl"
- namespace="http://jbpm.org/examples/loan" />
- <bpws:import importType="http://schemas.xmlsoap.org/wsdl/" location="interface/task.wsdl"
- namespace="http://jbpm.org/examples/task" />
+ <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
+ location="loan.wsdl" namespace="http://jbpm.org/examples/loan" />
+ <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
+ location="interface/loaner.wsdl" namespace="http://jbpm.org/examples/loan" />
+ <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
+ location="interface/task.wsdl" namespace="http://jbpm.org/examples/task" />
<bpws:partnerLinks>
- <bpws:partnerLink myRole="loaner" name="borrower" partnerLinkType="loan:borrower-loaner" />
+ <bpws:partnerLink myRole="loaner" name="borrower"
+ partnerLinkType="loan:borrower-loaner" />
</bpws:partnerLinks>
<bpws:variables>
<bpws:variable messageType="loan:loanRequest" name="loanRequest" />
@@ -23,8 +24,9 @@
<bpws:correlationSet name="borrowerName" properties="loan:borrowerName" />
</bpws:correlationSets>
<bpws:sequence name="Main">
- <bpws:receive createInstance="yes" name="AcceptLoanRequest" operation="requestLoan"
- partnerLink="borrower" portType="loan:Loaner" variable="loanRequest">
+ <bpws:receive createInstance="yes" name="AcceptLoanRequest"
+ operation="requestLoan" partnerLink="borrower" portType="loan:Loaner"
+ variable="loanRequest">
<bpws:correlations>
<bpws:correlation initiate="yes" set="borrowerName" />
</bpws:correlations>
@@ -41,12 +43,18 @@
<bpws:scope name="EscalateToAgent">
<bpws:partnerLinks>
<bpws:partnerLink myRole="taskRequester" name="taskManager"
- partnerLinkType="loan:taskRequester-taskManager" partnerRole="taskManager" />
+ partnerLinkType="loan:taskRequester-taskManager"
+ partnerRole="taskManager" />
</bpws:partnerLinks>
<bpws:variables>
- <bpws:variable messageType="task:createTaskResponse" name="taskCreationResponse" />
- <bpws:variable messageType="task:createTaskRequest" name="taskCreationRequest" />
- <bpws:variable messageType="task:endTaskRequest" name="taskEndedNotification" />
+ <bpws:variable messageType="task:createTaskResponse"
+ name="taskCreationResponse" />
+ <bpws:variable messageType="task:createTaskRequest"
+ name="taskCreationRequest" />
+ <bpws:variable messageType="task:endTaskRequest"
+ name="taskEndedNotification" />
+ <bpws:variable messageType="task:endTaskResponse"
+ name="taskEndedConfirmation" />
</bpws:variables>
<bpws:correlationSets>
<bpws:correlationSet name="evaluationTask" properties="loan:taskId" />
@@ -76,11 +84,13 @@
<bpws:to part="replyTo" variable="taskCreationRequest" />
</bpws:copy>
</bpws:assign>
- <bpws:invoke inputVariable="taskCreationRequest" name="CreateEvaluationTask"
- operation="createTask" outputVariable="taskCreationResponse" partnerLink="taskManager"
+ <bpws:invoke inputVariable="taskCreationRequest"
+ name="CreateEvaluationTask" operation="createTask"
+ outputVariable="taskCreationResponse" partnerLink="taskManager"
portType="task:TaskManager">
<bpws:correlations>
- <bpws:correlation initiate="yes" pattern="in" set="evaluationTask" />
+ <bpws:correlation initiate="yes" pattern="in"
+ set="evaluationTask" />
</bpws:correlations>
</bpws:invoke>
<bpws:assign name="SetEvaluating" validate="no">
@@ -93,18 +103,26 @@
<bpws:condition><![CDATA[$statusResponse.status = 'evaluating']]></bpws:condition>
<bpws:pick name="EvaluationMenu">
<bpws:onMessage operation="taskEnded" partnerLink="taskManager"
- portType="task:TaskCallback" variable="taskEndedNotification">
+ portType="task:TaskCallback"
+ variable="taskEndedNotification">
<bpws:correlations>
<bpws:correlation initiate="no" set="evaluationTask" />
</bpws:correlations>
- <bpws:assign name="ReadEvaluationResult" validate="no">
- <bpws:copy>
- <bpws:from part="taskInfo" variable="taskEndedNotification">
- <bpws:query><![CDATA[loanStatus]]></bpws:query>
- </bpws:from>
- <bpws:to part="status" variable="statusResponse" />
- </bpws:copy>
- </bpws:assign>
+ <bpws:sequence name="CloseEvaluationTaskSeq">
+ <bpws:assign name="ReadEvaluationResult" validate="no">
+ <bpws:copy>
+ <bpws:from part="taskInfo"
+ variable="taskEndedNotification">
+ <bpws:query><![CDATA[loanStatus]]></bpws:query>
+ </bpws:from>
+ <bpws:to part="status" variable="statusResponse" />
+ </bpws:copy>
+ </bpws:assign>
+ <bpws:reply name="ConfirmEvaluationTaskEnded"
+ operation="taskEnded" partnerLink="taskManager"
+ portType="task:TaskCallback"
+ variable="taskEndedConfirmation" />
+ </bpws:sequence>
</bpws:onMessage>
<bpws:onMessage operation="getLoanStatus" partnerLink="borrower"
portType="loan:Loaner" variable="statusRequest">
@@ -112,7 +130,8 @@
<bpws:correlation initiate="no" set="borrowerName" />
</bpws:correlations>
<bpws:reply name="NotifyEvaluating" operation="getLoanStatus"
- partnerLink="borrower" portType="loan:Loaner" variable="statusResponse" />
+ partnerLink="borrower" portType="loan:Loaner"
+ variable="statusResponse" />
</bpws:onMessage>
</bpws:pick>
</bpws:while>
@@ -120,13 +139,13 @@
</bpws:scope>
</bpws:else>
</bpws:if>
- <bpws:receive name="AcceptStatusRequest" operation="getLoanStatus" partnerLink="borrower"
- portType="loan:Loaner" variable="statusRequest">
+ <bpws:receive name="AcceptStatusRequest" operation="getLoanStatus"
+ partnerLink="borrower" portType="loan:Loaner" variable="statusRequest">
<bpws:correlations>
<bpws:correlation initiate="no" set="borrowerName" />
</bpws:correlations>
</bpws:receive>
- <bpws:reply name="SendStatus" operation="getLoanStatus" partnerLink="borrower"
- portType="loan:Loaner" variable="statusResponse" />
+ <bpws:reply name="SendStatus" operation="getLoanStatus"
+ partnerLink="borrower" portType="loan:Loaner" variable="statusResponse" />
</bpws:sequence>
</bpws:process>
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/loan.bpelex
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/loan.bpelex 2008-08-21 21:48:55 UTC (rev 1964)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/loan/src/main/bpel2/loan.bpelex 2008-08-21 22:59:44 UTC (rev 1965)
@@ -2,7 +2,7 @@
<extensionmodel:ExtensionMap xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:extensionmodel="http:///extensionmodel.ecore" xmlns:org.eclipse.bpel.ui.uiextensionmodel="http:///org/eclipse/bpel/ui/uiextensionmodel.ecore" namespace="http://org.eclipse.bpel.ui/">
<extensions>
<extendedObject href="loan.bpel#/"/>
- <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ProcessExtension" modificationStamp="1197519198734"/>
+ <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ProcessExtension" modificationStamp="1218525310000"/>
</extensions>
<extensions>
<extendedObject href="loan.bpel#//@activity/(a)activities.0"/>
@@ -89,11 +89,11 @@
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:OnMessageExtension"/>
</extensions>
<extensions>
- <extendedObject href="loan.bpel#//@activity/@activities.1/@else/@activity/@activity/@activities.3/@activity/@messages.0/(a)activity"/>
+ <extendedObject href="loan.bpel#//@activity/@activities.1/@else/@activity/@activity/@activities.3/@activity/@messages.0/@activity/(a)activities.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
</extensions>
<extensions>
- <extendedObject href="loan.bpel#//@activity/@activities.1/@else/@activity/@activity/@activities.3/@activity/@messages.0/@activity/(a)copy.0"/>
+ <extendedObject href="loan.bpel#//@activity/@activities.1/@else/@activity/@activity/@activities.3/@activity/@messages.0/@activity/@activities.0/(a)copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
<extensions>
@@ -124,4 +124,16 @@
<extendedObject href="loan.bpel#//@activity/@activities.1/@activity/(a)copy.0"/>
<extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:CopyExtension"/>
</extensions>
+ <extensions>
+ <extendedObject href="loan.bpel#//@activity/@activities.1/@else/@activity/@activity/@activities.3/@activity/@messages.0/(a)activity"/>
+ <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
+ </extensions>
+ <extensions>
+ <extendedObject href="loan.bpel#//@activity/@activities.1/@else/@activity/@activity/@activities.3/@activity/@messages.0/@activity/(a)activities.1"/>
+ <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:ActivityExtension"/>
+ </extensions>
+ <extensions>
+ <extendedObject href="loan.bpel#//@activity/@activities.1/@else/@activity/@variables/(a)children.3"/>
+ <extensionObject xsi:type="org.eclipse.bpel.ui.uiextensionmodel:VariableExtension"/>
+ </extensions>
</extensionmodel:ExtensionMap>
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/java/org/jbpm/bpel/tutorial/task/TaskManager_Impl.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/java/org/jbpm/bpel/tutorial/task/TaskManager_Impl.java 2008-08-21 21:48:55 UTC (rev 1964)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/java/org/jbpm/bpel/tutorial/task/TaskManager_Impl.java 2008-08-21 22:59:44 UTC (rev 1965)
@@ -158,40 +158,40 @@
public void endTask(TaskInfo taskInfo) {
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
+ String replyAddress;
try {
// end task instance
TaskInstance taskInstance = jbpmContext.loadTaskInstance(taskInfo.getTaskId().longValue());
+ replyAddress = (String) taskInstance.getVariable(REPLY_ADDRESS_VARIABLE);
taskInstance.end();
+ }
+ catch (RuntimeException e) {
+ jbpmContext.setRollbackOnly();
+ throw e;
+ }
+ finally {
+ jbpmContext.close();
+ }
+ try {
// acquire endpoint proxy
TaskCallback taskCallback = (TaskCallback) taskCallbackService.getPort(TaskCallback.class);
// configure callback address
- String address = (String) taskInstance.getVariable(REPLY_ADDRESS_VARIABLE);
Stub taskCallbackStub = (Stub) taskCallback;
- taskCallbackStub._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, address);
+ taskCallbackStub._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, replyAddress);
- log.debug("calling back endpoint at: " + address);
- taskCallback.taskEnded(taskInfo);
+ log.debug("calling back endpoint at: " + replyAddress);
+ taskCallback.taskEnded(taskInfo);
}
catch (ServiceException e) {
log.error("could not get callback endpoint proxy", e);
- jbpmContext.setRollbackOnly();
throw new SOAPFaultException(SERVER_CODE, "task callback failed", null, null);
}
catch (RemoteException e) {
log.error("endpoint callback failed", e);
- jbpmContext.setRollbackOnly();
throw new SOAPFaultException(SERVER_CODE, "task callback failed", null, null);
}
- catch (RuntimeException e) {
- jbpmContext.setRollbackOnly();
- throw e;
- }
- finally {
- jbpmContext.close();
- }
-
}
public TaskList getTaskList(String actorId) {
@@ -212,7 +212,6 @@
taskInfos[i] = taskInfo;
}
-
return new TaskList(taskInfos);
}
finally {
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/resources/web/wsdl/task-management.wsdl
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/resources/web/wsdl/task-management.wsdl 2008-08-21 21:48:55 UTC (rev 1964)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/resources/web/wsdl/task-management.wsdl 2008-08-21 22:59:44 UTC (rev 1965)
@@ -19,6 +19,9 @@
<input>
<soap:body use="literal" namespace="http://jbpm.org/examples/task" />
</input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/task" />
+ </output>
</operation>
<operation name="getTaskList">
<soap:operation soapAction="http://jbpm.org/examples/task/getTaskList" />
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/resources/web/wsdl/task-request.wsdl
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/resources/web/wsdl/task-request.wsdl 2008-08-21 21:48:55 UTC (rev 1964)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/resources/web/wsdl/task-request.wsdl 2008-08-21 22:59:44 UTC (rev 1965)
@@ -10,6 +10,9 @@
<input>
<soap:body use="literal" namespace="http://jbpm.org/examples/task" />
</input>
+ <output>
+ <soap:body use="literal" namespace="http://jbpm.org/examples/task" />
+ </output>
</operation>
</binding>
<service name="TaskRequestService">
Modified: jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/resources/web/wsdl/task.wsdl
===================================================================
--- jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/resources/web/wsdl/task.wsdl 2008-08-21 21:48:55 UTC (rev 1964)
+++ jbpm3/branches/jpdl-3.2.3.CP/bpel/examples/task/src/main/resources/web/wsdl/task.wsdl 2008-08-21 22:59:44 UTC (rev 1965)
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="task" targetNamespace="http://jbpm.org/examples/task"
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://jbpm.org/examples/task"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
<types>
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://jbpm.org/examples/task">
<xsd:complexType name="TaskInfo">
<xsd:sequence>
- <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="taskId" type="xsd:long" />
<xsd:attribute name="name" type="xsd:string" />
@@ -17,12 +17,13 @@
</xsd:complexType>
<xsd:complexType name="TaskList">
<xsd:sequence>
- <xsd:element name="taskInfo" type="tns:TaskInfo" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="taskInfo" type="tns:TaskInfo"
+ minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"
+ <xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"
schemaLocation="addressing.xsd" />
</xsd:schema>
</types>
@@ -36,6 +37,7 @@
<message name="endTaskRequest">
<part name="taskInfo" type="tns:TaskInfo" />
</message>
+ <message name="endTaskResponse" />
<message name="getTaskListRequest">
<part name="actorId" type="xsd:string" />
</message>
@@ -49,6 +51,7 @@
</operation>
<operation name="endTask">
<input message="tns:endTaskRequest" />
+ <output message="tns:endTaskResponse" />
</operation>
<operation name="getTaskList">
<input message="tns:getTaskListRequest" />
@@ -58,6 +61,7 @@
<portType name="TaskCallback">
<operation name="taskEnded">
<input message="tns:endTaskRequest" />
+ <output message="tns:endTaskResponse" />
</operation>
</portType>
</definitions>
\ No newline at end of file
17 years, 8 months
JBoss JBPM SVN: r1964 - in jbpm3/branches/jpdl-3.2.3.CP: identity and 2 other directories.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2008-08-21 17:48:55 -0400 (Thu, 21 Aug 2008)
New Revision: 1964
Modified:
jbpm3/branches/jpdl-3.2.3.CP/enterprise/
jbpm3/branches/jpdl-3.2.3.CP/identity/
jbpm3/branches/jpdl-3.2.3.CP/jpdl/dist/
jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar/
Log:
added target directories to svn:ignore
Property changes on: jbpm3/branches/jpdl-3.2.3.CP/enterprise
___________________________________________________________________
Name: svn:ignore
+ target
Property changes on: jbpm3/branches/jpdl-3.2.3.CP/identity
___________________________________________________________________
Name: svn:ignore
+ target
Property changes on: jbpm3/branches/jpdl-3.2.3.CP/jpdl/dist
___________________________________________________________________
Name: svn:ignore
+ target
Property changes on: jbpm3/branches/jpdl-3.2.3.CP/jpdl/jar
___________________________________________________________________
Name: svn:ignore
+ target
17 years, 8 months
JBoss JBPM SVN: r1963 - in jbossbpm/spec/branches/tdiesler/modules: api/src/main/java/org/jboss/bpm/model and 14 other directories.
by do-not-reply@jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-08-21 15:59:16 -0400 (Thu, 21 Aug 2008)
New Revision: 1963
Modified:
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/SignalManager.java
jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Signal.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/client/ExecutionManagerImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EndEventImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EventBuilderImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GatewayImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/IntermediateEventImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SubProcessImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/TaskImpl.java
jbossbpm/spec/branches/tdiesler/modules/ri/src/test/java/org/jboss/bpm/runtime/ExecutionManagerTest.java
jbossbpm/spec/branches/tdiesler/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewayMergeTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessManagerTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/signalmanager/SignalManagerTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/startevent/StartEventSignalTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/task/ReceiveTaskTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/parallelsplit/ParallelSplitTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/simplemerge/SimpleMergeTest.java
jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/synchronization/SynchronizationTest.java
Log:
WIP
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/SignalManager.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/SignalManager.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/client/SignalManager.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -28,12 +28,16 @@
import java.util.Map;
import java.util.Set;
+import javax.management.ObjectName;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jboss.bpm.model.Signal;
/**
- * The ProcessEngine sends signals through the SignalManager <p/> A {@link Signal} is like an undirected flare shot up
+ * The ProcessEngine sends signals through the SignalManager.
+ * <p/>
+ * A {@link Signal} is like an undirected flare shot up
* into the air. A component can register a {@link SignalListener} with the SignalManager.
*
* @author thomas.diesler(a)jboss.com
@@ -45,7 +49,7 @@
private static final Log log = LogFactory.getLog(SignalManager.class);
// The map of registered signal listeners
- private Map<String, Set<SignalListener>> listeners = new HashMap<String, Set<SignalListener>>();
+ private Map<ObjectName, Set<SignalListener>> listeners = new HashMap<ObjectName, Set<SignalListener>>();
/**
* Locate the SignalManager
@@ -57,32 +61,34 @@
}
/**
- * Add a SignalListener for a given process
+ * Add a SignalListener for a given source
+ *
+ * @param fromRef If null the listener catches all signals
*/
- public void addSignalListener(String procName, SignalListener listener)
+ public void addSignalListener(ObjectName fromRef, SignalListener listener)
{
synchronized (listeners)
{
- log.debug("addSignalListener: " + procName + "=" + listener);
- Set<SignalListener> set = listeners.get(procName);
+ log.debug("addSignalListener: " + fromRef + "=" + listener);
+ Set<SignalListener> set = listeners.get(fromRef);
if (set == null)
{
set = new HashSet<SignalListener>();
- listeners.put(procName, set);
+ listeners.put(fromRef, set);
}
set.add(listener);
}
}
/**
- * Remove an SignalListener for a given process
+ * Remove a SignalListener for a given source
*/
- public void removeSignalListener(String procName, SignalListener listener)
+ public void removeSignalListener(ObjectName fromRef, SignalListener listener)
{
synchronized (listeners)
{
- log.debug("removeSignalListener: " + procName + "=" + listener);
- Set<SignalListener> set = listeners.get(procName);
+ log.debug("removeSignalListener: " + fromRef + "=" + listener);
+ Set<SignalListener> set = listeners.get(fromRef);
if (set != null)
{
set.remove(listener);
@@ -91,78 +97,48 @@
}
/**
- * Remove all SignalListener for a given process
+ * Remove all SignalListener for a given source
*/
- public void removeSignalListeners(String procName)
+ public void removeSignalListeners(ObjectName fromRef)
{
synchronized (listeners)
{
- log.debug("removeSignalListeners: " + procName);
- listeners.remove(procName);
+ log.debug("removeSignalListeners: " + fromRef);
+ listeners.remove(fromRef);
}
}
/**
* Throw a signal to all registered listeners
+ *
* @param procName An optional process name
*/
public void throwSignal(Signal signal)
{
- throwSignalInternal(null, signal);
- }
-
- /**
- * Throw a signal to all registered listeners
- * @param procName An optional process name
- */
- public void throwSignal (String procName, Signal signal)
- {
- throwSignalInternal(procName, signal);
- }
+ log.debug("throwSignal: " + signal);
- private void throwSignalInternal (String procName, Signal signal)
- {
- log.debug("throwSignal: " + procName + "=" + signal);
-
- // Throw Signal to listeners associated with the process
- if (procName != null)
+ // Throw Signal to listeners associated with a given source
+ ObjectName fromRef = signal.getFromRef();
+ Set<SignalListener> fromRefListeners = getListeners(fromRef);
+ for (SignalListener listener : fromRefListeners)
{
- Set<SignalListener> procListeners = getListenerSet(procName);
- for (SignalListener listener : procListeners)
- {
- failsafeThrow(listener, signal);
- }
+ failsafeThrow(listener, signal);
}
-
- // Throw Signal to listeners associated with any process
- if (procName == null)
- {
- synchronized (listeners)
- {
- for (String auxName : listeners.keySet())
- {
- if (auxName != null)
- {
- throwSignalInternal(auxName, signal);
- }
- }
- }
- }
- // Throw Signal to listeners not associated with any process
- Set<SignalListener> allProcListeners = getListenerSet(null);
- for (SignalListener listener : allProcListeners)
+ // Throw Signal to listeners not associated with any source
+ Set<SignalListener> allListeners = getListeners(null);
+ for (SignalListener listener : allListeners)
{
failsafeThrow(listener, signal);
}
}
- private Set<SignalListener> getListenerSet(String procName)
+ private Set<SignalListener> getListeners(ObjectName fromRef)
{
synchronized (listeners)
{
HashSet<SignalListener> retSet = new HashSet<SignalListener>();
- Set<SignalListener> listenerSet = listeners.get(procName);
+ Set<SignalListener> listenerSet = listeners.get(fromRef);
if (listenerSet != null)
retSet.addAll(listenerSet);
return retSet;
Modified: jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Signal.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Signal.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/api/src/main/java/org/jboss/bpm/model/Signal.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -23,6 +23,8 @@
import java.io.Serializable;
+import javax.management.ObjectName;
+
// $Id$
/**
@@ -31,7 +33,7 @@
* @author Thomas.Diesler(a)jboss.com
* @since 08-Jul-2008
*/
-public class Signal implements Serializable
+public final class Signal implements Serializable
{
private static final long serialVersionUID = 1L;
@@ -52,10 +54,12 @@
private SignalType type;
private String message;
- private String fromRef;
+ private ObjectName fromRef;
- /** Create the signal for a given process */
- public Signal(String fromRef, SignalType type)
+ /**
+ * Create the signal for a given source and type
+ */
+ public Signal(ObjectName fromRef, SignalType type)
{
this.fromRef = fromRef;
this.type = type;
@@ -65,14 +69,16 @@
throw new IllegalArgumentException("SignalType cannot be null");
}
- /** Create the signal for a given process */
- public Signal(String fromRef, SignalType type, String message)
+ /**
+ * Create the signal for a given source, type and message
+ */
+ public Signal(ObjectName fromRef, SignalType type, String message)
{
this(fromRef, type);
this.message = message;
}
- public String getFromRef()
+ public ObjectName getFromRef()
{
return fromRef;
}
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/client/ExecutionManagerImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/client/ExecutionManagerImpl.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/client/ExecutionManagerImpl.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -335,7 +335,7 @@
synchronized (proc)
{
procImpl.setProcessStatus(ProcessStatus.Active);
- signalManager.throwSignal(proc.getName(), new Signal(proc.getName(), SignalType.SYSTEM_PROCESS_ENTER));
+ signalManager.throwSignal(new Signal(procID, SignalType.SYSTEM_PROCESS_ENTER));
// Notify that the process is now Active
log.debug("Notify: " + proc);
@@ -367,7 +367,7 @@
}
finally
{
- signalManager.throwSignal(procName, new Signal(procName, Signal.SignalType.SYSTEM_PROCESS_EXIT));
+ signalManager.throwSignal(new Signal(procID, Signal.SignalType.SYSTEM_PROCESS_EXIT));
synchronized (proc)
{
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EndEventImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EndEventImpl.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EndEventImpl.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -120,14 +120,14 @@
SignalManager signalManager = SignalManager.locateSignalManager();
public void throwEnterSignal()
{
- Signal signal = new Signal(getName(), Signal.SignalType.SYSTEM_END_EVENT_ENTER);
- signalManager.throwSignal(getProcess().getName(), signal);
+ Signal signal = new Signal(getID(), Signal.SignalType.SYSTEM_END_EVENT_ENTER);
+ signalManager.throwSignal(signal);
}
public void throwExitSignal()
{
- Signal signal = new Signal(getName(), Signal.SignalType.SYSTEM_END_EVENT_EXIT);
- signalManager.throwSignal(getProcess().getName(), signal);
+ Signal signal = new Signal(getID(), Signal.SignalType.SYSTEM_END_EVENT_EXIT);
+ signalManager.throwSignal(signal);
}
};
}
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EventBuilderImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EventBuilderImpl.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/EventBuilderImpl.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -93,7 +93,7 @@
if (eventDetail instanceof SignalEventDetailImpl)
{
SignalEventDetailImpl signalEventDetail = (SignalEventDetailImpl)eventDetail;
- signalEventDetail.setSignalRef(new Signal(flowObject.getName(), signalType, message));
+ signalEventDetail.setSignalRef(new Signal(flowObject.getID(), signalType, message));
}
else
{
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GatewayImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GatewayImpl.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/GatewayImpl.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -168,14 +168,14 @@
SignalManager signalManager = SignalManager.locateSignalManager();
public void throwEnterSignal()
{
- Signal signal = new Signal(getName(), Signal.SignalType.SYSTEM_GATEWAY_ENTER);
- signalManager.throwSignal(getProcess().getName(), signal);
+ Signal signal = new Signal(getID(), Signal.SignalType.SYSTEM_GATEWAY_ENTER);
+ signalManager.throwSignal(signal);
}
public void throwExitSignal()
{
- Signal signal = new Signal(getName(), Signal.SignalType.SYSTEM_GATEWAY_EXIT);
- signalManager.throwSignal(getProcess().getName(), signal);
+ Signal signal = new Signal(getID(), Signal.SignalType.SYSTEM_GATEWAY_EXIT);
+ signalManager.throwSignal(signal);
}
};
}
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/IntermediateEventImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/IntermediateEventImpl.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/IntermediateEventImpl.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -103,14 +103,14 @@
SignalManager signalManager = SignalManager.locateSignalManager();
public void throwEnterSignal()
{
- Signal signal = new Signal(getName(), Signal.SignalType.SYSTEM_EVENT_ENTER);
- signalManager.throwSignal(getProcess().getName(), signal);
+ Signal signal = new Signal(getID(), Signal.SignalType.SYSTEM_EVENT_ENTER);
+ signalManager.throwSignal(signal);
}
public void throwExitSignal()
{
- Signal signal = new Signal(getName(), Signal.SignalType.SYSTEM_EVENT_EXIT);
- signalManager.throwSignal(getProcess().getName(), signal);
+ Signal signal = new Signal(getID(), Signal.SignalType.SYSTEM_EVENT_EXIT);
+ signalManager.throwSignal(signal);
}
};
}
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/StartEventImpl.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -102,14 +102,14 @@
SignalManager signalManager = SignalManager.locateSignalManager();
public void throwEnterSignal()
{
- Signal signal = new Signal(getName(), Signal.SignalType.SYSTEM_START_EVENT_ENTER);
- signalManager.throwSignal(getProcess().getName(), signal);
+ Signal signal = new Signal(getID(), Signal.SignalType.SYSTEM_START_EVENT_ENTER);
+ signalManager.throwSignal(signal);
}
public void throwExitSignal()
{
- Signal signal = new Signal(getName(), Signal.SignalType.SYSTEM_START_EVENT_EXIT);
- signalManager.throwSignal(getProcess().getName(), signal);
+ Signal signal = new Signal(getID(), Signal.SignalType.SYSTEM_START_EVENT_EXIT);
+ signalManager.throwSignal(signal);
}
};
}
@@ -161,7 +161,7 @@
}
};
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.addSignalListener(getProcess().getName(), startListener);
+ signalManager.addSignalListener(null, startListener);
}
}
}
@@ -174,7 +174,7 @@
if (startListener != null)
{
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.removeSignalListener(getProcess().getName(), startListener);
+ signalManager.removeSignalListener(null, startListener);
startListener = null;
}
super.unregisterElement(proc);
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SubProcessImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SubProcessImpl.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/SubProcessImpl.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -57,14 +57,14 @@
SignalManager signalManager = SignalManager.locateSignalManager();
public void throwEnterSignal()
{
- Signal signal = new Signal(getName(), Signal.SignalType.SYSTEM_SUB_PROCESS_ENTER);
- signalManager.throwSignal(getProcess().getName(), signal);
+ Signal signal = new Signal(getID(), Signal.SignalType.SYSTEM_SUB_PROCESS_ENTER);
+ signalManager.throwSignal(signal);
}
public void throwExitSignal()
{
- Signal signal = new Signal(getName(), Signal.SignalType.SYSTEM_SUB_PROCESS_EXIT);
- signalManager.throwSignal(getProcess().getName(), signal);
+ Signal signal = new Signal(getID(), Signal.SignalType.SYSTEM_SUB_PROCESS_EXIT);
+ signalManager.throwSignal(signal);
}
};
}
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/TaskImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/TaskImpl.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/main/java/org/jboss/bpm/ri/model/impl/TaskImpl.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -79,14 +79,14 @@
SignalManager signalManager = SignalManager.locateSignalManager();
public void throwEnterSignal()
{
- Signal signal = new Signal(getName(), Signal.SignalType.SYSTEM_TASK_ENTER);
- signalManager.throwSignal(getProcess().getName(), signal);
+ Signal signal = new Signal(getID(), Signal.SignalType.SYSTEM_TASK_ENTER);
+ signalManager.throwSignal(signal);
}
public void throwExitSignal()
{
- Signal signal = new Signal(getName(), Signal.SignalType.SYSTEM_TASK_EXIT);
- signalManager.throwSignal(getProcess().getName(), signal);
+ Signal signal = new Signal(getID(), Signal.SignalType.SYSTEM_TASK_EXIT);
+ signalManager.throwSignal(signal);
}
};
}
Modified: jbossbpm/spec/branches/tdiesler/modules/ri/src/test/java/org/jboss/bpm/runtime/ExecutionManagerTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/ri/src/test/java/org/jboss/bpm/runtime/ExecutionManagerTest.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/ri/src/test/java/org/jboss/bpm/runtime/ExecutionManagerTest.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -136,7 +136,7 @@
em.startProcess(proc, null);
SignalManager sm = SignalManager.locateSignalManager();
- sm.throwSignal(getName(), new Signal(getName(), SignalType.USER_SIGNAL, "A"));
+ sm.throwSignal(new Signal(getMessageListenerID(), SignalType.USER_SIGNAL, "A"));
ProcessStatus status = em.waitForEnd(proc);
assertEquals(ProcessStatus.Completed, status);
@@ -205,7 +205,7 @@
}
TestSignalListener sigListener = new TestSignalListener();
SignalManager sm = SignalManager.locateSignalManager();
- sm.addSignalListener(getName(), sigListener);
+ sm.addSignalListener(getMessageListenerID(), sigListener);
proc.startProcess();
proc.waitForEnd();
Modified: jbossbpm/spec/branches/tdiesler/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/samples/airticket/server/src/main/java/org/jboss/bpm/samples/airticket/server/AirticketServiceImpl.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -32,7 +32,7 @@
@SuppressWarnings("serial")
public class AirticketServiceImpl extends RemoteServiceServlet implements AirticketService
{
- private ObjectName listenerID = ObjectNameFactory.create("mydomain:type=MessageListener");
+ private ObjectName sampleID = ObjectNameFactory.create("org.jboss.bpm:sample=AirticketService");
public void sendMessage(GwtMessage gwtMsg)
{
@@ -52,7 +52,7 @@
AirticketMessageListener msgListener = new AirticketMessageListener(messageQueue);
mm.addMessageListener(msgListener);
- sm.addSignalListener(AirticketProcessBuilder.PROCESS_NAME, new AirticketSignalListener());
+ sm.addSignalListener(sampleID, new AirticketSignalListener());
httpSession.setAttribute("messageQueue", messageQueue);
}
@@ -62,7 +62,7 @@
if (procID == null || pm.getProcessByID(procID) == null)
{
System.out.println("Create new Process");
- AirticketProcessBuilder procBuilder = new AirticketProcessBuilder(listenerID);
+ AirticketProcessBuilder procBuilder = new AirticketProcessBuilder(sampleID);
Process proc = procBuilder.buildProcess();
procID = proc.startProcess();
httpSession.setAttribute("procID", procID);
@@ -188,7 +188,7 @@
public ObjectName getID()
{
- return listenerID;
+ return sampleID;
}
}
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/exclusive/ExclusiveGatewayMergeTest.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -59,11 +59,11 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
- Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
- signalManager.addSignalListener(getName(), new MergeListener(startTrigger));
+ Signal startTrigger = new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "B");
+ signalManager.addSignalListener(getMessageListenerID(), new MergeListener(startTrigger));
// Send start trigger signal
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
proc.waitForEnd();
@@ -81,11 +81,11 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
- Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A");
- signalManager.addSignalListener(getName(), new MergeListener(startTrigger));
+ Signal startTrigger = new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A");
+ signalManager.addSignalListener(getMessageListenerID(), new MergeListener(startTrigger));
// Send start trigger signal
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "B"));
// Wait for the process to end
proc.waitForEnd();
@@ -103,11 +103,11 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
- Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A");
- signalManager.addSignalListener(getName(), new MergeListener(startTrigger));
+ Signal startTrigger = new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A");
+ signalManager.addSignalListener(getMessageListenerID(), new MergeListener(startTrigger));
// Send start trigger signal
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
try
{
@@ -123,11 +123,11 @@
proc.startProcess();
// Add a signal listener that sends the other start trigger signal
- startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
- signalManager.addSignalListener(getName(), new MergeListener(startTrigger));
+ startTrigger = new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "B");
+ signalManager.addSignalListener(getMessageListenerID(), new MergeListener(startTrigger));
// Send start trigger signal
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
proc.waitForEnd();
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewayMergeTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewayMergeTest.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/inclusive/InclusiveGatewayMergeTest.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -55,11 +55,11 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
- Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
- signalManager.addSignalListener(getName(), new MergeListener(startTrigger));
+ Signal startTrigger = new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "B");
+ signalManager.addSignalListener(getMessageListenerID(), new MergeListener(startTrigger));
// Send start trigger signals
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
proc.waitForEnd();
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeTest.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewayMergeTest.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -58,12 +58,12 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
- Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
- signalManager.addSignalListener(proc.getName(), new MergeListener(startTrigger));
+ Signal startTrigger = new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "B");
+ signalManager.addSignalListener(getMessageListenerID(), new MergeListener(startTrigger));
// Start the process and send start trigger signal
proc.startProcess();
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
proc.waitForEnd();
@@ -81,7 +81,7 @@
// Start the process and send start trigger signal
proc.startProcess();
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
try
@@ -101,12 +101,12 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
- Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A");
- signalManager.addSignalListener(proc.getName(), new MergeListener(startTrigger));
+ Signal startTrigger = new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A");
+ signalManager.addSignalListener(getMessageListenerID(), new MergeListener(startTrigger));
// Start the process and send start trigger signal
proc.startProcess();
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
try
{
@@ -119,12 +119,12 @@
}
// Add a signal listener that sends the other start trigger signal
- startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
- signalManager.addSignalListener(proc.getName(), new MergeListener(startTrigger));
+ startTrigger = new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "B");
+ signalManager.addSignalListener(getMessageListenerID(), new MergeListener(startTrigger));
// Start the process and send start trigger signal
proc.startProcess();
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
proc.waitForEnd();
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitTest.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/gateway/parallel/ParallelGatewaySplitTest.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -26,6 +26,8 @@
import java.io.IOException;
import java.util.List;
+import javax.management.ObjectName;
+
import org.jboss.bpm.model.Gateway;
import org.jboss.bpm.model.Process;
import org.jboss.bpm.model.ProcessBuilder;
@@ -52,7 +54,9 @@
// Validate received signals
List<Signal> signals = getSignals(SignalType.SYSTEM_END_EVENT_ENTER);
assertEquals(2, signals.size());
- String fromRefs = signals.get(0).getFromRef() + signals.get(1).getFromRef();
+ ObjectName fromRef0 = signals.get(0).getFromRef();
+ ObjectName fromRef1 = signals.get(1).getFromRef();
+ String fromRefs = fromRef0.getCanonicalName() + fromRef1.getCanonicalName();
assertTrue("Unexpected from refs: " + fromRefs, fromRefs.contains("EndA"));
assertTrue("Unexpected from refs: " + fromRefs, fromRefs.contains("EndB"));
}
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessManagerTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessManagerTest.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/processmanager/ProcessManagerTest.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -62,7 +62,7 @@
}
};
SignalManager sm = SignalManager.locateSignalManager();
- sm.addSignalListener(getName(), signalListener);
+ sm.addSignalListener(getMessageListenerID(), signalListener);
// Start the process, which automatically adds it to the registery
assertEquals(procID, proc.startProcess());
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/signalmanager/SignalManagerTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/signalmanager/SignalManagerTest.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/signalmanager/SignalManagerTest.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -38,8 +38,8 @@
public class SignalManagerTest extends DefaultEngineTestCase
{
final SignalManager sigManager = SignalManager.locateSignalManager();
- final Signal sigA = new Signal(getShortName(), SignalType.USER_SIGNAL, "A");
- final Signal sigB = new Signal(getShortName(), SignalType.USER_SIGNAL, "B");
+ final Signal sigA = new Signal(getMessageListenerID(), SignalType.USER_SIGNAL, "A");
+ final Signal sigB = new Signal(getMessageListenerID(), SignalType.USER_SIGNAL, "B");
private Signal gotA;
private Signal gotB;
@@ -56,7 +56,7 @@
if ("A".equals(sigMsg))
{
gotA = signal;
- sigManager.throwSignal(getShortName(), sigB);
+ sigManager.throwSignal(sigB);
}
if ("B".equals(sigMsg))
{
@@ -65,9 +65,9 @@
}
}
};
- sigManager.addSignalListener(getShortName(), sigListener);
- sigManager.throwSignal(getShortName(), sigA);
- sigManager.removeSignalListeners(getShortName());
+ sigManager.addSignalListener(getMessageListenerID(), sigListener);
+ sigManager.throwSignal(sigA);
+ sigManager.removeSignalListeners(getMessageListenerID());
assertEquals(sigA, gotA);
assertEquals(sigB, gotB);
@@ -94,9 +94,9 @@
}
}
};
- sigManager.addSignalListener(getShortName(), sigListener);
+ sigManager.addSignalListener(getMessageListenerID(), sigListener);
sendThreadSignal(sigA);
- sigManager.removeSignalListeners(getShortName());
+ sigManager.removeSignalListeners(getMessageListenerID());
assertEquals(sigA, gotA);
assertEquals(sigB, gotB);
@@ -139,7 +139,7 @@
public void run()
{
hasStarted = true;
- sigManager.throwSignal(getShortName(), threadSig);
+ sigManager.throwSignal(threadSig);
}
}
}
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/startevent/StartEventSignalTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/startevent/StartEventSignalTest.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/startevent/StartEventSignalTest.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -57,7 +57,7 @@
// Start the process and send start trigger signal
proc.startProcess();
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
proc.waitForEnd();
@@ -74,14 +74,14 @@
// Start the process and send start trigger signal
proc.startProcess();
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
proc.waitForEnd();
// Start the process and send start trigger signal
proc.startProcess();
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
proc.waitForEnd();
@@ -99,12 +99,12 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
- Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A");
- signalManager.addSignalListener(proc.getName(), new TaskListener(startTrigger));
+ Signal startTrigger = new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A");
+ signalManager.addSignalListener(getMessageListenerID(), new TaskListener(startTrigger));
// Start the process and send start trigger signal
proc.startProcess();
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
proc.waitForEnd();
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/task/ReceiveTaskTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/task/ReceiveTaskTest.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/cts/task/ReceiveTaskTest.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -120,7 +120,7 @@
}
};
SignalManager sigManager = SignalManager.locateSignalManager();
- sigManager.addSignalListener(proc.getName(), signalListener);
+ sigManager.addSignalListener(getMessageListenerID(), signalListener);
proc.startProcess();
proc.waitForEnd();
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/parallelsplit/ParallelSplitTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/parallelsplit/ParallelSplitTest.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/parallelsplit/ParallelSplitTest.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -26,6 +26,8 @@
import java.io.IOException;
import java.util.List;
+import javax.management.ObjectName;
+
import org.jboss.bpm.model.Gateway;
import org.jboss.bpm.model.Process;
import org.jboss.bpm.model.ProcessBuilder;
@@ -52,7 +54,9 @@
// Validate received signals
List<Signal> signals = getSignals(SignalType.SYSTEM_END_EVENT_ENTER);
assertEquals(2, signals.size());
- String fromRefs = signals.get(0).getFromRef() + signals.get(1).getFromRef();
+ ObjectName fromRef0 = signals.get(0).getFromRef();
+ ObjectName fromRef1 = signals.get(1).getFromRef();
+ String fromRefs = fromRef0.getCanonicalName() + fromRef1.getCanonicalName();
assertTrue("Unexpected from refs: " + fromRefs, fromRefs.contains("EndA"));
assertTrue("Unexpected from refs: " + fromRefs, fromRefs.contains("EndB"));
}
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/simplemerge/SimpleMergeTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/simplemerge/SimpleMergeTest.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/simplemerge/SimpleMergeTest.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -55,11 +55,11 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
- Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
- signalManager.addSignalListener(proc.getName(), new MergeListener(proc.getName(), startTrigger));
+ Signal startTrigger = new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "B");
+ signalManager.addSignalListener(getMessageListenerID(), new MergeListener(proc.getName(), startTrigger));
// Send start trigger signals
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
proc.waitForEnd();
Modified: jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/synchronization/SynchronizationTest.java
===================================================================
--- jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/synchronization/SynchronizationTest.java 2008-08-21 15:57:22 UTC (rev 1962)
+++ jbossbpm/spec/branches/tdiesler/modules/testsuite/src/test/java/org/jboss/bpm/pattern/control/synchronization/SynchronizationTest.java 2008-08-21 19:59:16 UTC (rev 1963)
@@ -58,12 +58,12 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
- Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
- signalManager.addSignalListener(proc.getName(), new MergeListener(startTrigger));
+ Signal startTrigger = new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "B");
+ signalManager.addSignalListener(getMessageListenerID(), new MergeListener(startTrigger));
// Start the process and send start trigger signal
proc.startProcess();
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
proc.waitForEnd();
@@ -81,7 +81,7 @@
// Start the process and send start trigger signal
proc.startProcess();
SignalManager signalManager = SignalManager.locateSignalManager();
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
try
@@ -101,12 +101,12 @@
// Add a signal listener that sends the other start trigger signal
SignalManager signalManager = SignalManager.locateSignalManager();
- Signal startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A");
- signalManager.addSignalListener(proc.getName(), new MergeListener(startTrigger));
+ Signal startTrigger = new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A");
+ signalManager.addSignalListener(getMessageListenerID(), new MergeListener(startTrigger));
// Start the process and send start trigger signal
proc.startProcess();
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
try
{
@@ -119,12 +119,12 @@
}
// Add a signal listener that sends the other start trigger signal
- startTrigger = new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "B");
- signalManager.addSignalListener(proc.getName(), new MergeListener(startTrigger));
+ startTrigger = new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "B");
+ signalManager.addSignalListener(getMessageListenerID(), new MergeListener(startTrigger));
// Start the process and send start trigger signal
proc.startProcess();
- signalManager.throwSignal(new Signal(getName(), SignalType.SYSTEM_START_TRIGGER, "A"));
+ signalManager.throwSignal(new Signal(getMessageListenerID(), SignalType.SYSTEM_START_TRIGGER, "A"));
// Wait for the process to end
proc.waitForEnd();
17 years, 8 months