[jboss-svn-commits] JBL Code SVN: r16187 - in labs/jbossesb/trunk/product: etc/schemas/xml and 6 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Oct 31 01:24:55 EDT 2007
Author: kevin.conner at jboss.com
Date: 2007-10-31 01:24:55 -0400 (Wed, 31 Oct 2007)
New Revision: 16187
Modified:
labs/jbossesb/trunk/product/docs/ProgrammersGuide.odt
labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerTagNames.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ActionMapper.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.xml
labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/META-INF/jboss-esb.xml
labs/jbossesb/trunk/product/tools/console/management-esb/jboss-esb.xml
Log:
Added support for mep into actions element: JBESB-1274
Modified: labs/jbossesb/trunk/product/docs/ProgrammersGuide.odt
===================================================================
(Binary files differ)
Modified: labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd
===================================================================
--- labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd 2007-10-31 05:23:54 UTC (rev 16186)
+++ labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd 2007-10-31 05:24:55 UTC (rev 16187)
@@ -217,14 +217,23 @@
</xsd:complexType>
</xsd:element>
+ <xsd:simpleType name="mepType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="RequestResponse"/>
+ <xsd:enumeration value="OneWay"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
<xsd:element name="actions">
<xsd:annotation>
<xsd:documentation xml:lang="en">A container for actions belonging to this service.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
- <xsd:sequence>
- <xsd:element maxOccurs="unbounded" minOccurs="1" ref="jesb:action"/>
- </xsd:sequence>
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="1"
+ ref="jesb:action" />
+ </xsd:sequence>
+ <xsd:attribute name="mep" type="jesb:mepType"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="action">
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerTagNames.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerTagNames.java 2007-10-31 05:23:54 UTC (rev 16186)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/ListenerTagNames.java 2007-10-31 05:24:55 UTC (rev 16187)
@@ -61,6 +61,7 @@
public static final String DEPLOYMENT_NAME_TAG = "deployment";
/** ActionProcessingPipeline */
+ public static final String MEP_ATTRIBUTE_TAG = "mep";
public static final String ACTION_ELEMENT_TAG = "action";
public static final String ACTION_CLASS_TAG = "class";
public static final String PROCESS_METHOD_TAG = "process";
@@ -69,6 +70,9 @@
public static final String EXCEPTION_METHOD_TAG = "exceptionMethod";
public static final String HTTP_ROUTER_ROUTE_URL = "routeUrl";
+ public static final String MEP_ONE_WAY = "OneWay" ;
+ public static final String MEP_REQUEST_RESPONSE = "RequestResponse" ;
+
/** Gateway Composer */
public static final String GATEWAY_COMPOSER_CLASS_TAG = "composer-class";
public static final String GATEWAY_COMPOSER_METHOD_TAG = "composer-process";
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ActionMapper.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ActionMapper.java 2007-10-31 05:23:54 UTC (rev 16186)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/mappers/ActionMapper.java 2007-10-31 05:24:55 UTC (rev 16187)
@@ -28,7 +28,9 @@
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.dom.YADOMUtil;
import org.jboss.soa.esb.listeners.ListenerTagNames;
+import org.jboss.soa.esb.listeners.config.xbeanmodel.MepType;
import org.jboss.soa.esb.listeners.config.xbeanmodel.ActionDocument.Action;
+import org.jboss.soa.esb.listeners.config.xbeanmodel.ActionsDocument.Actions;
import org.jboss.soa.esb.listeners.config.Generator.XMLBeansModel;
import org.jboss.soa.esb.listeners.config.xbeanmodel.PropertyDocument.Property;
import org.jboss.soa.esb.listeners.config.xbeanmodel.ServiceDocument.Service;
@@ -53,11 +55,17 @@
*/
public static void map(Element listenerConfigTree, Service listenerService, XMLBeansModel model) throws ConfigurationException {
if (listenerService.getActions()!=null) {
- List<Action> actions = listenerService.getActions().getActionList();
+ final Actions actions = listenerService.getActions();
+ final MepType.Enum mep = actions.getMep() ;
+ if (mep != null)
+ {
+ listenerConfigTree.setAttribute(ListenerTagNames.MEP_ATTRIBUTE_TAG, mep.toString()) ;
+ }
+ List<Action> actionList = actions.getActionList();
try {
HashMap<String,String> hm = new HashMap<String,String>();
- for(Action action : actions) {
+ for(Action action : actionList) {
mapAction(listenerConfigTree, action);
if (hm.containsKey(action.getName())) {
throw new ConfigurationException("Tried to register a duplicate action name. Service "
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java 2007-10-31 05:23:54 UTC (rev 16186)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java 2007-10-31 05:24:55 UTC (rev 16187)
@@ -87,6 +87,16 @@
private boolean transactional ;
/**
+ * The flag indicating an action pipeline for a one way MEP.
+ */
+ private boolean oneWay ;
+
+ /**
+ * The flag indicating whether missing ReplyTo/FaultTo headers should emit a warning.
+ */
+ private boolean warnResponses ;
+
+ /**
* public constructor
*
* @param config
@@ -101,6 +111,36 @@
"Configuration needed for action classes");
}
+ final String mep = config.getAttribute(ListenerTagNames.MEP_ATTRIBUTE_TAG) ;
+ final boolean oneWay ;
+ final boolean warnResponses ;
+ if (mep == null)
+ {
+ oneWay = false ;
+ warnResponses = true ;
+ }
+ else if (ListenerTagNames.MEP_ONE_WAY.equals(mep))
+ {
+ oneWay = true ;
+ warnResponses = false ;
+ }
+ else if (ListenerTagNames.MEP_REQUEST_RESPONSE.equals(mep))
+ {
+ oneWay = false ;
+ warnResponses = false ;
+ }
+ else
+ {
+ throw new ConfigurationException("Unrecognised action MEP: " + mep) ;
+ }
+
+ if (LOGGER.isDebugEnabled())
+ {
+ LOGGER.debug("Using mep: " + mep + ", oneWay: " + oneWay + ", warnResponses: " + warnResponses) ;
+ }
+ this.oneWay = oneWay ;
+ this.warnResponses = warnResponses ;
+
final ConfigTree[] actionList = config
.getChildren(ListenerTagNames.ACTION_ELEMENT_TAG);
@@ -329,9 +369,16 @@
}
// Reply...
- if (currentMessage != null)
+ if (!oneWay)
{
- replyTo(callDetails, currentMessage);
+ if (currentMessage != null)
+ {
+ replyTo(callDetails, currentMessage);
+ }
+ else
+ {
+ LOGGER.warn("No response message for RequestResponse mep! " + callDetails);
+ }
}
notifySuccess(messages);
@@ -384,8 +431,11 @@
{
if (!DefaultReplyTo.initialiseReply(message, callDetails))
{
+ if (warnResponses)
+ {
LOGGER.warn("No reply to address defined for reply message! " + callDetails);
sendToDLQ(callDetails, message, MessageType.reply) ;
+ }
}
else
{
@@ -409,8 +459,11 @@
{
if (!DefaultFaultTo.initialiseReply(message, callDetails))
{
+ if (warnResponses)
+ {
LOGGER.warn("No fault address defined for fault message! " + callDetails);
sendToDLQ(callDetails, message, MessageType.fault) ;
+ }
}
else
{
@@ -566,4 +619,5 @@
}
}
}
+
}
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml 2007-10-31 05:23:54 UTC (rev 16186)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_01.xml 2007-10-31 05:24:55 UTC (rev 16187)
@@ -91,7 +91,7 @@
busidref="Ftp-ServerTest"
maxThreads="1"/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="TestFtpRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
</actions>
@@ -103,7 +103,7 @@
busidref="SQL-Test"
maxThreads="1"/>
</listeners>
- <actions>
+ <actions mep="RequestResponse">
<action name="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
</actions>
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.xml
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.xml 2007-10-31 05:23:54 UTC (rev 16186)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/listeners/config/jbossesb_config_02.xml 2007-10-31 05:24:55 UTC (rev 16187)
@@ -137,7 +137,7 @@
<property name="schedule-frequency" value="10" />
</listener>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="TestFtpRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
</actions>
@@ -151,7 +151,7 @@
<property name="pollLatencySeconds" value="10" />
</listener>
</listeners>
- <actions>
+ <actions mep="RequestResponse">
<action name="TestSqlRouteAction" class="org.jboss.soa.esb.actions.ContentBasedRouter"/>
</actions>
Modified: labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/META-INF/jboss-esb.xml 2007-10-31 05:23:54 UTC (rev 16186)
+++ labs/jbossesb/trunk/product/services/jbossesb/src/main/resources/META-INF/jboss-esb.xml 2007-10-31 05:24:55 UTC (rev 16187)
@@ -46,7 +46,7 @@
maxThreads="1"
/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="action1"
class="org.jboss.soa.esb.monitoring.client.InvokerAction"
process="invokeOperation"/>
@@ -61,7 +61,7 @@
maxThreads="1"
/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="action1"
class="org.jboss.soa.esb.monitoring.client.OperationsCollectorAction"
process="collectOperations"/>
@@ -76,7 +76,7 @@
maxThreads="1"
/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="action1"
class="org.jboss.soa.esb.monitoring.client.DataCollectorAction"
process="collectStatistics"/>
@@ -92,7 +92,7 @@
maxThreads="1"
/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="notificationAction"
class="org.jboss.soa.esb.actions.Notifier">
<property name="okMethod" value="notifyOK" />
@@ -113,7 +113,7 @@
<listeners>
<scheduled-listener name="redeliver-scheduled-listener" scheduleidref="5-min-trigger" event-processor="org.jboss.soa.esb.schedule.RedeliverEventMessageComposer" />
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="RedeliverMessagesAction" class="org.jboss.soa.esb.actions.MessageRedeliverer">
<property name="max-redeliveries" value="20"/>
</action>
Modified: labs/jbossesb/trunk/product/tools/console/management-esb/jboss-esb.xml
===================================================================
--- labs/jbossesb/trunk/product/tools/console/management-esb/jboss-esb.xml 2007-10-31 05:23:54 UTC (rev 16186)
+++ labs/jbossesb/trunk/product/tools/console/management-esb/jboss-esb.xml 2007-10-31 05:24:55 UTC (rev 16187)
@@ -35,7 +35,7 @@
maxThreads="1"
/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="data
fileraction"
class="org.jboss.soa.esb.monitoring.server.FilerAction"
@@ -53,7 +53,7 @@
maxThreads="1"
/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="operationsfileraction"
class="org.jboss.soa.esb.monitoring.server.FilerAction"
process="fileMessage"
@@ -70,7 +70,7 @@
maxThreads="1"
/>
</listeners>
- <actions>
+ <actions mep="OneWay">
<action name="operationsresultfileraction"
class="org.jboss.soa.esb.monitoring.server.FilerAction"
process="fileMessage"
More information about the jboss-svn-commits
mailing list