[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