[overlord-commits] Overlord SVN: r545 - in cdl/trunk: runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateless/actions and 9 other directories.
overlord-commits at lists.jboss.org
overlord-commits at lists.jboss.org
Fri Mar 20 12:48:06 EDT 2009
Author: jeff.yuchang
Date: 2009-03-20 12:48:05 -0400 (Fri, 20 Mar 2009)
New Revision: 545
Added:
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/EPRStorage.java
cdl/trunk/samples/jbossesb/common/creditAgency/stateless/src/main/java/com/acme/services/creditAgency/MemoryEPRStorage.java
cdl/trunk/samples/jbossesb/purchasing/store/stateless/src/main/java/com/acme/services/broker/MemoryEPRStorage.java
Removed:
cdl/trunk/samples/jbossesb/purchasing/store/stateless/src/main/java/com/acme/services/broker/PurchaseGoods.java
Modified:
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateless/actions/ReceiveMessageAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateless/actions/SendMessageAction.java
cdl/trunk/samples/jbossesb/brokerage/broker/stateless/src/main/resources/META-INF/deployment.xml
cdl/trunk/samples/jbossesb/brokerage/broker/stateless/src/main/resources/META-INF/jboss-esb.xml
cdl/trunk/samples/jbossesb/brokerage/broker/stateless/src/main/resources/jbmq-queue-service.xml
cdl/trunk/samples/jbossesb/brokerage/supplier/stateless/src/main/resources/META-INF/deployment.xml
cdl/trunk/samples/jbossesb/brokerage/supplier/stateless/src/main/resources/META-INF/jboss-esb.xml
cdl/trunk/samples/jbossesb/brokerage/supplier/stateless/src/main/resources/jbmq-queue-service.xml
cdl/trunk/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java
cdl/trunk/samples/jbossesb/common/creditAgency/stateless/src/main/resources/META-INF/jboss-esb.xml
cdl/trunk/samples/jbossesb/purchasing/store/stateless/src/main/resources/META-INF/jboss-esb.xml
Log:
* Update the purchasing example.
* Add the EPRStorage interface for getting ERP from client Role name.
Added: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/EPRStorage.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/EPRStorage.java (rev 0)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/EPRStorage.java 2009-03-20 16:48:05 UTC (rev 545)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2008,
+ */
+package org.jboss.soa.overlord.jbossesb;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.message.Message;
+
+/**
+ * @author <a href="mailto:cyu at redhat.com">Jeff Yu</a>
+ *
+ */
+public interface EPRStorage {
+
+ void registerRole(String roleName, Message message);
+
+ EPR getEPRByRole(String roleName, Message message);
+
+}
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateless/actions/ReceiveMessageAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateless/actions/ReceiveMessageAction.java 2009-03-18 16:43:08 UTC (rev 544)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateless/actions/ReceiveMessageAction.java 2009-03-20 16:48:05 UTC (rev 545)
@@ -23,6 +23,8 @@
import org.jboss.soa.esb.actions.AbstractActionLifecycle;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.overlord.jbossesb.ClassLoaderUtil;
+import org.jboss.soa.overlord.jbossesb.EPRStorage;
import org.jboss.soa.overlord.jbossesb.MessageUtil;
import org.jboss.soa.overlord.jbossesb.StringUtils;
@@ -34,6 +36,7 @@
* {@literal
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction" name="c2" process="process">
<property name="messageType" value="CreditCheckRequest"/>
+ <property name="clientRole" value="Buyer" />
</action>
* }
* </pre>
@@ -52,6 +55,10 @@
public static final String MESSAGE_TYPE = "messageType";
+ public static final String CLIENT_ROLE = "clientRole";
+
+ public static final String STORAGE_CLASS = "storageClass";
+
private static Logger logger = Logger.getLogger(ReceiveMessageAction.class);
private ConfigTree config;
@@ -77,7 +84,24 @@
throw new Exception ("Unexpected message type= "+ receivedMessageType + ", but expecting type="+ expected);
}
+ String roleName = config.getAttribute(CLIENT_ROLE);
+ String store = config.getAttribute(STORAGE_CLASS);
+
+ if (StringUtils.isNotNull(roleName) && StringUtils.isNotNull(store)) {
+ registerEPRwithRoleName(roleName, store, message);
+ }
+
return message;
}
+
+ private void registerEPRwithRoleName(String roleName, String storageClass, Message message) throws Exception {
+ Class<?> storageClz = ClassLoaderUtil.loadClass(storageClass);
+ if (!EPRStorage.class.isAssignableFrom(storageClz)){
+ throw new Exception("The storageClass of " + storageClass + " doesn't implement the EPRStorage Interface.");
+ }
+
+ EPRStorage storage = (EPRStorage)storageClz.newInstance();
+ storage.registerRole(roleName, message);
+ }
}
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateless/actions/SendMessageAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateless/actions/SendMessageAction.java 2009-03-18 16:43:08 UTC (rev 544)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/stateless/actions/SendMessageAction.java 2009-03-20 16:48:05 UTC (rev 545)
@@ -19,6 +19,8 @@
*/
package org.jboss.soa.overlord.jbossesb.stateless.actions;
+import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.addressing.helpers.EPRHelper;
import org.jboss.soa.esb.actions.AbstractActionLifecycle;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.addressing.eprs.LogicalEPR;
@@ -29,6 +31,8 @@
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.format.MessageFactory;
import org.jboss.soa.esb.message.format.MessageType;
+import org.jboss.soa.overlord.jbossesb.ClassLoaderUtil;
+import org.jboss.soa.overlord.jbossesb.EPRStorage;
import org.jboss.soa.overlord.jbossesb.LogicalCourier;
import org.jboss.soa.overlord.jbossesb.MessageUtil;
import org.jboss.soa.overlord.jbossesb.StringUtils;
@@ -62,6 +66,7 @@
process="process" name="s4-3">
<property name="messageType" value="quoteList" />
<property name="clientRole" value="buyer" />
+ <property name="storageClass" value="orgization.your.impl.EPRStorageImpl" />
</action>
* }
* </pre>
@@ -87,6 +92,7 @@
* <li><i>serviceCategory</i> - Mapped to JBossESB service-category.</li>
* <li><i>responseServiceName</i> - The service-name of the responded message.</li>
* <li><i>responseServiceCategory</i> - The service-category of the responded message.</li>
+ * <li><i>storageClass</i> - The class that is responsible for registering, getting EPR from roleName. </li>
* </ul>
*
*
@@ -109,8 +115,12 @@
public static final String CLIENT_ROLE = "clientRole";
+ public static final String STORAGE_CLASS = "storageClass";
+
private ConfigTree config;
+ private Logger logger = Logger.getLogger(SendMessageAction.class);
+
public SendMessageAction(ConfigTree config) {
this.config = config;
}
@@ -136,6 +146,7 @@
String category = config.getAttribute(SERVICE_CATEGORY);
String serviceName = config.getAttribute(SERVICE_NAME);
String clientRole = config.getAttribute(CLIENT_ROLE);
+ String storageClass = config.getAttribute(STORAGE_CLASS);
if (StringUtils.isNotNull(category) && StringUtils.isNotNull(serviceName)
&& StringUtils.isNotNull(clientRole)) {
@@ -145,8 +156,11 @@
if (StringUtils.isNotNull(category) && StringUtils.isNotNull(serviceName)){
ServiceInvoker invoker = new ServiceInvoker(category, serviceName);
invoker.deliverAsync(deliverMessage);
- } else if (StringUtils.isNotNull(clientRole)) {
- deliverMessageFromEPR(message, deliverMessage);
+ logger.info("Send Message to [" + category + "/" + serviceName + "]" );
+ } else if (StringUtils.isNotNull(clientRole) && StringUtils.isNotNull(storageClass)) {
+
+ deliverMessageToRole(clientRole, storageClass, deliverMessage, message);
+ logger.info("Send Message to [" + clientRole + "]" );
} else {
throw new Exception ("Failed to send message, because can't find [serivceCategory/serviceName]," +
"nor clientRole.");
@@ -171,8 +185,17 @@
return deliverMessage;
}
- private void deliverMessageFromEPR(Message message, Message deliverMessage) throws Exception {
- EPR epr = message.getHeader().getCall().getReplyTo();
+ private void deliverMessageToRole(String roleName, String storageClass,
+ Message deliverMessage, Message message) throws Exception {
+ Class<?> storageClz = ClassLoaderUtil.loadClass(storageClass);
+ if (!EPRStorage.class.isAssignableFrom(storageClz)){
+ throw new Exception("The storageClass of " + storageClass + " doesn't implement the EPRStorage Interface.");
+ }
+
+ EPRStorage storage = (EPRStorage)storageClz.newInstance();
+ EPR epr = storage.getEPRByRole(roleName, message);
+ logger.debug("The reply EPR is: " + EPRHelper.toXMLString(epr));
+
Courier courier = null;
// Workaround, as CourierFactory currently does not support logical EPRs.
if (epr instanceof LogicalEPR) {
Modified: cdl/trunk/samples/jbossesb/brokerage/broker/stateless/src/main/resources/META-INF/deployment.xml
===================================================================
--- cdl/trunk/samples/jbossesb/brokerage/broker/stateless/src/main/resources/META-INF/deployment.xml 2009-03-18 16:43:08 UTC (rev 544)
+++ cdl/trunk/samples/jbossesb/brokerage/broker/stateless/src/main/resources/META-INF/deployment.xml 2009-03-20 16:48:05 UTC (rev 545)
@@ -1,4 +1,5 @@
<jbossesb-deployment>
+ <depends>jboss.esb:deployment=overlord-cdl-runtime.esb</depends>
<depends>org.pi4soa.esbbroker.esbbroker.destination:service=Queue,name=org_pi4soa_esbbroker_esbbroker_ESBBrokerProcess_Broker__2</depends>
<depends>org.pi4soa.esbbroker.esbbroker.destination:service=Queue,name=org_pi4soa_esbbroker_esbbroker_ESBBrokerProcess_Broker__1</depends>
<depends>org.pi4soa.esbbroker.esbbroker.destination:service=Queue,name=org_pi4soa_esbbroker_esbbroker_ESBBrokerProcess_Broker__12</depends>
Modified: cdl/trunk/samples/jbossesb/brokerage/broker/stateless/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- cdl/trunk/samples/jbossesb/brokerage/broker/stateless/src/main/resources/META-INF/jboss-esb.xml 2009-03-18 16:43:08 UTC (rev 544)
+++ cdl/trunk/samples/jbossesb/brokerage/broker/stateless/src/main/resources/META-INF/jboss-esb.xml 2009-03-20 16:48:05 UTC (rev 545)
@@ -50,7 +50,7 @@
<listeners>
<jms-listener busidref="busId1" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.SwitchAction" name="ESBBrokerProcess_Broker_action_1" process="process">
<property name="serviceDescriptionName" value="{org.pi4soa.esbbroker.esbbroker}ESBBrokerProcess-Broker"/>
<property name="conversationType" value="overlord.cdl.samples.LoanBroker at Broker"/>
@@ -75,14 +75,14 @@
<listeners>
<jms-listener busidref="busId2" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__1"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction" name="ESBBrokerProcess_Broker__1_action_1" process="process">
<property name="operation" value="makeEnquiry"/>
<property name="messageType" value="enquiry"/>
</action>
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.IfAction" name="ESBBrokerProcess_Broker__1_action_2" process="process">
<property name="paths">
- <if service-category="org.pi4soa.esbbroker.esbbroker" service-name="ESBBrokerProcess_Broker__2"/>
+ <if service-category="org.pi4soa.esbbroker.esbbroker" service-name="ESBBrokerProcess_Broker__2" decision-class="org.jboss.soa.overlord.samples.jbossesb.loan.broker.SendReqForQuoteDecision"/>
<else service-category="org.pi4soa.esbbroker.esbbroker" service-name="ESBBrokerProcess_Broker__3"/>
</property>
</action>
@@ -92,7 +92,9 @@
<listeners>
<jms-listener busidref="busId3" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__2"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
+ <action class="org.jboss.soa.overlord.samples.jbossesb.loan.broker.SetRequestQuoteMessageAction" name="b-1" process="process">
+ </action>
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.SendMessageAction" name="ESBBrokerProcess_Broker__2_action_1" process="process">
<property name="operation" value="getQuote"/>
<property name="messageType" value="requestForQuote"/>
@@ -107,21 +109,26 @@
<listeners>
<jms-listener busidref="busId4" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__3"/>
</listeners>
- <actions/>
+ <actions mep="OneWay">
+ <action class="org.jboss.soa.overlord.samples.jbossesb.loan.broker.SetRequestQuoteMessageAction" name="b-13" process="process">
+ </action>
+ </actions>
</service>
<service category="org.pi4soa.esbbroker.esbbroker" description="" name="getQuote">
<listeners>
<jms-listener busidref="busId5" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__4"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction" name="ESBBrokerProcess_Broker__4_action_1" process="process">
<property name="operation" value="getQuote"/>
<property name="messageType" value="quote"/>
</action>
+ <action class="org.jboss.soa.overlord.samples.jbossesb.loan.broker.SetQuoteAction" name="b-2" process="process">
+ </action>
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.IfAction" name="ESBBrokerProcess_Broker__4_action_2" process="process">
<property name="paths">
- <if service-category="org.pi4soa.esbbroker.esbbroker" service-name="ESBBrokerProcess_Broker__5"/>
- <else service-category="org.pi4soa.esbbroker.esbbroker" service-name="ESBBrokerProcess_Broker__6"/>
+ <if service-category="org.pi4soa.esbbroker.esbbroker" service-name="ESBBrokerProcess_Broker__5" decision-class="org.jboss.soa.overlord.samples.jbossesb.loan.broker.SendReqForQuoteDecision"/>
+ <else service-category="org.pi4soa.esbbroker.esbbroker" service-name="ESBBrokerProcess_Broker__7"/>
</property>
</action>
</actions>
@@ -130,7 +137,7 @@
<listeners>
<jms-listener busidref="busId6" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__5"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.SendMessageAction" name="ESBBrokerProcess_Broker__5_action_1" process="process">
<property name="operation" value="getQuote"/>
<property name="messageType" value="requestForQuote"/>
@@ -145,13 +152,18 @@
<listeners>
<jms-listener busidref="busId7" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__6"/>
</listeners>
- <actions/>
+ <actions mep="OneWay">
+ <action class="org.jboss.soa.overlord.samples.jbossesb.loan.broker.SetRequestQuoteMessageAction" name="b-1" process="process">
+ </action>
+ </actions>
</service>
<service category="org.pi4soa.esbbroker.esbbroker" description="" name="ESBBrokerProcess_Broker__7">
<listeners>
<jms-listener busidref="busId8" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__7"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
+ <action class="org.jboss.soa.overlord.samples.jbossesb.loan.broker.SetQuotesListAction" name="b-3" process="process">
+ </action>
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.SendMessageAction" name="ESBBrokerProcess_Broker__7_action_1" process="process">
<property name="operation" value="makeEnquiry"/>
<property name="messageType" value="quoteList"/>
@@ -163,7 +175,7 @@
<listeners>
<jms-listener busidref="busId9" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__8"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction" name="ESBBrokerProcess_Broker__8_action_1" process="process">
<property name="operation" value="buy"/>
<property name="messageType" value="buy"/>
@@ -182,7 +194,7 @@
<listeners>
<jms-listener busidref="busId10" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__9"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction" name="ESBBrokerProcess_Broker__9_action_1" process="process">
<property name="operation" value="checkCredit"/>
<property name="messageType" value="CreditCheckOk"/>
@@ -201,7 +213,7 @@
<listeners>
<jms-listener busidref="busId11" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__10"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction" name="ESBBrokerProcess_Broker__10_action_1" process="process">
<property name="operation" value="confirm"/>
<property name="messageType" value="bookingReference"/>
@@ -217,7 +229,7 @@
<listeners>
<jms-listener busidref="busId12" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__11"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction" name="ESBBrokerProcess_Broker__11_action_1" process="process">
<property name="operation" value="checkCredit"/>
<property name="messageType" value="CreditCheckInvalid"/>
@@ -233,7 +245,7 @@
<listeners>
<jms-listener busidref="busId13" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_Broker__12"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction" name="ESBBrokerProcess_Broker__12_action_1" process="process">
<property name="operation" value="cancel"/>
<property name="messageType" value="cancel"/>
@@ -244,7 +256,7 @@
<listeners>
<jms-listener busidref="busId14" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-checkCredit"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.SwitchAction" name="checkCredit_action_1" process="process">
<property name="paths">
<case service-category="org.pi4soa.esbbroker.esbbroker" service-name="ESBBrokerProcess_Broker__9">
Modified: cdl/trunk/samples/jbossesb/brokerage/broker/stateless/src/main/resources/jbmq-queue-service.xml
===================================================================
--- cdl/trunk/samples/jbossesb/brokerage/broker/stateless/src/main/resources/jbmq-queue-service.xml 2009-03-18 16:43:08 UTC (rev 544)
+++ cdl/trunk/samples/jbossesb/brokerage/broker/stateless/src/main/resources/jbmq-queue-service.xml 2009-03-20 16:48:05 UTC (rev 545)
@@ -54,6 +54,12 @@
</depends>
</mbean>
<mbean code="org.jboss.mq.server.jmx.Queue"
+ name="org.pi4soa.esbbroker.esbbroker.destination:service=Queue,name=org_pi4soa_esbbroker_esbbroker_ESBBrokerProcess_Broker_reply">
+ <depends optional-attribute-name="DestinationManager">
+ jboss.mq:service=DestinationManager
+ </depends>
+ </mbean>
+ <mbean code="org.jboss.mq.server.jmx.Queue"
name="org.pi4soa.esbbroker.esbbroker.destination:service=Queue,name=org_pi4soa_esbbroker_esbbroker_ESBBrokerProcess_Broker__7">
<depends optional-attribute-name="DestinationManager">
jboss.mq:service=DestinationManager
Modified: cdl/trunk/samples/jbossesb/brokerage/supplier/stateless/src/main/resources/META-INF/deployment.xml
===================================================================
--- cdl/trunk/samples/jbossesb/brokerage/supplier/stateless/src/main/resources/META-INF/deployment.xml 2009-03-18 16:43:08 UTC (rev 544)
+++ cdl/trunk/samples/jbossesb/brokerage/supplier/stateless/src/main/resources/META-INF/deployment.xml 2009-03-20 16:48:05 UTC (rev 545)
@@ -1,4 +1,5 @@
<jbossesb-deployment>
+ <depends>jboss.esb:deployment=overlord-cdl-runtime.esb</depends>
<depends>org.pi4soa.esbbroker.esbbroker.destination:service=Queue,name=org_pi4soa_esbbroker_esbbroker_ESBBrokerProcess_SupplierTxnProcessor</depends>
<depends>org.pi4soa.esbbroker.esbbroker.destination:service=Queue,name=org_pi4soa_esbbroker_esbbroker_ESBBrokerProcess_SupplierTxnProcessor__1</depends>
<depends>org.pi4soa.esbbroker.esbbroker.destination:service=Queue,name=org_pi4soa_esbbroker_esbbroker_ESBBrokerProcess_SupplierQuoteEngine</depends>
Modified: cdl/trunk/samples/jbossesb/brokerage/supplier/stateless/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- cdl/trunk/samples/jbossesb/brokerage/supplier/stateless/src/main/resources/META-INF/jboss-esb.xml 2009-03-18 16:43:08 UTC (rev 544)
+++ cdl/trunk/samples/jbossesb/brokerage/supplier/stateless/src/main/resources/META-INF/jboss-esb.xml 2009-03-20 16:48:05 UTC (rev 545)
@@ -14,14 +14,13 @@
<jms-message-filter dest-name="queue/org_pi4soa_esbbroker_esbbroker_ESBBrokerProcess_SupplierQuoteEngine__1" dest-type="QUEUE"/>
</jms-bus>
</jms-provider>
- </jms-provider>
</providers>
<services>
<service category="org.pi4soa.esbbroker.esbbroker" description="" name="ESBBrokerProcess_SupplierTxnProcessor">
<listeners>
<jms-listener busidref="busId1" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_SupplierTxnProcessor"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.SwitchAction" name="ESBBrokerProcess_SupplierTxnProcessor_action_1" process="process">
<property name="serviceDescriptionName" value="{org.pi4soa.esbbroker.esbbroker}ESBBrokerProcess-SupplierTxnProcessor"/>
<property name="conversationType" value="overlord.cdl.samples.LoanBroker at SupplierTxnProcessor"/>
@@ -37,7 +36,7 @@
<listeners>
<jms-listener busidref="busId2" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_SupplierTxnProcessor__1"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction" name="ESBBrokerProcess_SupplierTxnProcessor__1_action_1" process="process">
<property name="operation" value="confirm"/>
<property name="messageType" value="orderConfirmed"/>
@@ -55,7 +54,7 @@
<listeners>
<jms-listener busidref="busId3" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_SupplierQuoteEngine"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.SwitchAction" name="ESBBrokerProcess_SupplierQuoteEngine_action_1" process="process">
<property name="serviceDescriptionName" value="{org.pi4soa.esbbroker.esbbroker}ESBBrokerProcess-SupplierQuoteEngine"/>
<property name="conversationType" value="overlord.cdl.samples.LoanBroker at SupplierQuoteEngine"/>
@@ -71,7 +70,7 @@
<listeners>
<jms-listener busidref="busId4" maxThreads="1" name="org.pi4soa.esbbroker.esbbroker-ESBBrokerProcess_SupplierQuoteEngine__1"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction" name="ESBBrokerProcess_SupplierQuoteEngine__1_action_1" process="process">
<property name="operation" value="getQuote"/>
<property name="messageType" value="requestForQuote"/>
Modified: cdl/trunk/samples/jbossesb/brokerage/supplier/stateless/src/main/resources/jbmq-queue-service.xml
===================================================================
--- cdl/trunk/samples/jbossesb/brokerage/supplier/stateless/src/main/resources/jbmq-queue-service.xml 2009-03-18 16:43:08 UTC (rev 544)
+++ cdl/trunk/samples/jbossesb/brokerage/supplier/stateless/src/main/resources/jbmq-queue-service.xml 2009-03-20 16:48:05 UTC (rev 545)
@@ -5,6 +5,12 @@
jboss.mq:service=DestinationManager
</depends>
</mbean>
+ <mbean code="org.jboss.mq.server.jmx.Queue"
+ name="org.pi4soa.esbbroker.esbbroker.destination:service=Queue,name=org_pi4soa_esbbroker_esbbroker_ESBBrokerProcess_SupplierTxnProcessor_reply">
+ <depends optional-attribute-name="DestinationManager">
+ jboss.mq:service=DestinationManager
+ </depends>
+ </mbean>
<mbean code="org.jboss.mq.server.jmx.Queue"
name="org.pi4soa.esbbroker.esbbroker.destination:service=Queue,name=org_pi4soa_esbbroker_esbbroker_ESBBrokerProcess_SupplierTxnProcessor__1">
<depends optional-attribute-name="DestinationManager">
@@ -18,6 +24,12 @@
</depends>
</mbean>
<mbean code="org.jboss.mq.server.jmx.Queue"
+ name="org.pi4soa.esbbroker.esbbroker.destination:service=Queue,name=org_pi4soa_esbbroker_esbbroker_ESBBrokerProcess_SupplierQuoteEngine_reply">
+ <depends optional-attribute-name="DestinationManager">
+ jboss.mq:service=DestinationManager
+ </depends>
+ </mbean>
+ <mbean code="org.jboss.mq.server.jmx.Queue"
name="org.pi4soa.esbbroker.esbbroker.destination:service=Queue,name=org_pi4soa_esbbroker_esbbroker_ESBBrokerProcess_SupplierQuoteEngine__1">
<depends optional-attribute-name="DestinationManager">
jboss.mq:service=DestinationManager
Modified: cdl/trunk/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java
===================================================================
--- cdl/trunk/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java 2009-03-18 16:43:08 UTC (rev 544)
+++ cdl/trunk/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java 2009-03-20 16:48:05 UTC (rev 545)
@@ -42,7 +42,7 @@
System.setProperty("javax.xml.registry.ConnectionFactoryClass",regClass);
try {
- brokerInvoker = new ServiceInvoker("ESBBroker.BrokerParticipant", "ESBBrokerProcess");
+ brokerInvoker = new ServiceInvoker("org.pi4soa.esbbroker.esbbroker", "ESBBrokerProcess_Broker");
} catch (Exception e) {
throw new RuntimeException("Failed to create ServiceInvoker", e);
}
Added: cdl/trunk/samples/jbossesb/common/creditAgency/stateless/src/main/java/com/acme/services/creditAgency/MemoryEPRStorage.java
===================================================================
--- cdl/trunk/samples/jbossesb/common/creditAgency/stateless/src/main/java/com/acme/services/creditAgency/MemoryEPRStorage.java (rev 0)
+++ cdl/trunk/samples/jbossesb/common/creditAgency/stateless/src/main/java/com/acme/services/creditAgency/MemoryEPRStorage.java 2009-03-20 16:48:05 UTC (rev 545)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2008,
+ */
+package com.acme.services.creditAgency;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.overlord.jbossesb.EPRStorage;
+
+/**
+ * @author <a href="mailto:cyu at redhat.com">Jeff Yu</a>
+ *
+ */
+public class MemoryEPRStorage implements EPRStorage {
+
+ private static final Map<String, EPR> storage = new HashMap<String, EPR>();
+
+ public EPR getEPRByRole(String roleName, Message message) {
+ return storage.get(roleName);
+ }
+
+ public void registerRole(String roleName, Message message) {
+ EPR epr = message.getHeader().getCall().getReplyTo();
+ storage.put(roleName, epr);
+ }
+
+}
Modified: cdl/trunk/samples/jbossesb/common/creditAgency/stateless/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- cdl/trunk/samples/jbossesb/common/creditAgency/stateless/src/main/resources/META-INF/jboss-esb.xml 2009-03-18 16:43:08 UTC (rev 544)
+++ cdl/trunk/samples/jbossesb/common/creditAgency/stateless/src/main/resources/META-INF/jboss-esb.xml 2009-03-20 16:48:05 UTC (rev 545)
@@ -20,7 +20,7 @@
<listeners>
<jms-listener busidref="busId1" maxThreads="1" name="esb-stateless-creditAgency"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="c1" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.SwitchAction">
<property name="serviceDescriptionName" value="{org.pi4soa.purchase.purchasegoods}PurchaseGoodsProcess-CreditAgency"/>
<property name="conversationType" value="overlord.cdl.samples.Common at CreditAgency"/>
@@ -36,10 +36,12 @@
<listeners>
<jms-listener busidref="busId2" maxThreads="1" name="esb-stateless-creditAgency1"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="c2" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction">
<property name="operation" value="checkCredit"/>
<property name="messageType" value="CreditCheckRequest"/>
+ <property name="clientRole" value="Store" />
+ <property name="storageClass" value="com.acme.services.creditAgency.MemoryEPRStorage" />
</action>
<action name="c3" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.IfAction">
<property name="paths">
@@ -53,11 +55,14 @@
<listeners>
<jms-listener busidref="busId3" maxThreads="1" name="esb-stateless-creditAgency2"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
+ <action name="custom-1" process="process" class="com.acme.services.creditAgency.SetCreditCheckResponseMessageAction">
+ </action>
<action name="c4" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.SendMessageAction">
<property name="operation" value="checkCredit"/>
<property name="messageType" value="CreditCheckOk"/>
<property name="clientRole" value="Store"/>
+ <property name="storageClass" value="com.acme.services.creditAgency.MemoryEPRStorage" />
</action>
</actions>
</service>
@@ -65,11 +70,14 @@
<listeners>
<jms-listener busidref="busId4" maxThreads="1" name="esb-stateless-creditAgency3"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
+ <action name="custom-2" process="process" class="com.acme.services.creditAgency.SetCreditCheckInvalidMessageAction">
+ </action>
<action name="c5" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.SendMessageAction">
<property name="operation" value="checkCredit"/>
<property name="messageType" value="CreditCheckInvalid"/>
<property name="clientRole" value="Store"/>
+ <property name="storageClass" value="com.acme.services.creditAgency.MemoryEPRStorage" />
</action>
</actions>
</service>
Added: cdl/trunk/samples/jbossesb/purchasing/store/stateless/src/main/java/com/acme/services/broker/MemoryEPRStorage.java
===================================================================
--- cdl/trunk/samples/jbossesb/purchasing/store/stateless/src/main/java/com/acme/services/broker/MemoryEPRStorage.java (rev 0)
+++ cdl/trunk/samples/jbossesb/purchasing/store/stateless/src/main/java/com/acme/services/broker/MemoryEPRStorage.java 2009-03-20 16:48:05 UTC (rev 545)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2008,
+ */
+package com.acme.services.broker;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.overlord.jbossesb.EPRStorage;
+
+/**
+ * @author <a href="mailto:cyu at redhat.com">Jeff Yu</a>
+ *
+ */
+public class MemoryEPRStorage implements EPRStorage {
+
+ private static final Map<String, EPR> storage = new HashMap<String, EPR>();
+
+ public EPR getEPRByRole(String roleName, Message message) {
+ return storage.get(roleName);
+ }
+
+ public void registerRole(String roleName, Message message) {
+ EPR epr = message.getHeader().getCall().getReplyTo();
+ storage.put(roleName, epr);
+ }
+
+}
Deleted: cdl/trunk/samples/jbossesb/purchasing/store/stateless/src/main/java/com/acme/services/broker/PurchaseGoods.java
===================================================================
--- cdl/trunk/samples/jbossesb/purchasing/store/stateless/src/main/java/com/acme/services/broker/PurchaseGoods.java 2009-03-18 16:43:08 UTC (rev 544)
+++ cdl/trunk/samples/jbossesb/purchasing/store/stateless/src/main/java/com/acme/services/broker/PurchaseGoods.java 2009-03-20 16:48:05 UTC (rev 545)
@@ -1,42 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2008,
- */
-package com.acme.services.broker;
-
-import java.io.Serializable;
-
-import org.jboss.soa.overlord.jbossesb.stateful.actions.Service;
-
-
- at Service(name="{http://www.jboss.org/overlord/purchase}Store", conversationType="overlord.cdl.samples.Purchasing at Store", root=true)
-public class PurchaseGoods implements Serializable{
-
- private long id;
-
- public long getId() {
- return id;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
-
-
-}
Modified: cdl/trunk/samples/jbossesb/purchasing/store/stateless/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- cdl/trunk/samples/jbossesb/purchasing/store/stateless/src/main/resources/META-INF/jboss-esb.xml 2009-03-18 16:43:08 UTC (rev 544)
+++ cdl/trunk/samples/jbossesb/purchasing/store/stateless/src/main/resources/META-INF/jboss-esb.xml 2009-03-20 16:48:05 UTC (rev 545)
@@ -23,7 +23,7 @@
<listeners>
<jms-listener busidref="busId1" maxThreads="1" name="org.pi4soa.purchase.purchasegoods-PurchaseGoodsProcess_Store"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="s1" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.SwitchAction">
<property name="serviceDescriptionName" value="{org.pi4soa.purchase.purchasegoods}PurchaseGoodsProcess-Store"/>
<property name="conversationType" value="overlord.cdl.samples.Purchasing at Store"/>
@@ -39,12 +39,16 @@
<listeners>
<jms-listener busidref="busId2" maxThreads="1" name="org.pi4soa.purchase.purchasegoods-PurchaseGoodsProcess_Store__1"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="s2" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction">
<property name="operation" value="buy"/>
<property name="messageType" value="BuyRequest"/>
+ <property name="clientRole" value="Buyer" />
+ <property name="storageClass" value="com.acme.services.broker.MemoryEPRStorage" />
</action>
- <action name="s3" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.SendMessageAction">
+ <action name="s3" process="process" class="com.acme.services.broker.SetCreditCheckRequestMessageAction">
+ </action>
+ <action name="s4" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.SendMessageAction">
<property name="operation" value="checkCredit"/>
<property name="messageType" value="CreditCheckRequest"/>
<property name="serviceCategory" value="org.pi4soa.purchase.purchasegoods"/>
@@ -58,15 +62,18 @@
<listeners>
<jms-listener busidref="busId3" maxThreads="1" name="org.pi4soa.purchase.purchasegoods-PurchaseGoodsProcess_Store__2"/>
</listeners>
- <actions>
- <action name="s4" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction">
+ <actions mep="OneWay">
+ <action name="s5" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction">
<property name="operation" value="checkCredit"/>
<property name="messageType" value="CreditCheckOk"/>
</action>
- <action name="s5" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.SendMessageAction">
+ <action name="purchasing-success" class="com.acme.services.broker.SetBuyResponseMessageAction">
+ </action>
+ <action name="s6" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.SendMessageAction">
<property name="operation" value="buy"/>
<property name="messageType" value="BuyConfirmed"/>
<property name="clientRole" value="Buyer"/>
+ <property name="storageClass" value="com.acme.services.broker.MemoryEPRStorage" />
</action>
</actions>
</service>
@@ -74,15 +81,17 @@
<listeners>
<jms-listener busidref="busId4" maxThreads="1" name="org.pi4soa.purchase.purchasegoods-PurchaseGoodsProcess_Store__3"/>
</listeners>
- <actions>
- <action name="s6" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction">
+ <actions mep="OneWay">
+ <action name="s7" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.ReceiveMessageAction">
<property name="operation" value="checkCredit"/>
<property name="messageType" value="CreditCheckInvalid"/>
</action>
- <action name="s7" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.SendMessageAction">
+ <action name="purchasing-failed" class="com.acme.services.broker.SetBuyFailedMessageAction"></action>
+ <action name="s8" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.SendMessageAction">
<property name="operation" value="buy"/>
<property name="messageType" value="BuyFailed"/>
<property name="clientRole" value="Buyer"/>
+ <property name="storageClass" value="com.acme.services.broker.MemoryEPRStorage" />
</action>
</actions>
</service>
@@ -90,8 +99,8 @@
<listeners>
<jms-listener busidref="busId5" maxThreads="1" name="org.pi4soa.purchase.purchasegoods-checkCredit"/>
</listeners>
- <actions>
- <action name="s8" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.SwitchAction">
+ <actions mep="OneWay">
+ <action name="s9" process="process" class="org.jboss.soa.overlord.jbossesb.stateless.actions.SwitchAction">
<property name="paths">
<case service-category="org.pi4soa.purchase.purchasegoods" service-name="PurchaseGoodsProcess_Store__2">
<message type="CreditCheckOk"/>
More information about the overlord-commits
mailing list