[jboss-svn-commits] JBL Code SVN: r21088 - labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jul 17 13:06:47 EDT 2008


Author: kevin.conner at jboss.com
Date: 2008-07-17 13:06:47 -0400 (Thu, 17 Jul 2008)
New Revision: 21088

Modified:
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java
Log:
make acknowledgement consistent: JBESB-1872

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java	2008-07-17 13:57:04 UTC (rev 21087)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JmsGatewayListener.java	2008-07-17 17:06:47 UTC (rev 21088)
@@ -154,43 +154,39 @@
             if (null != msgIn) {
                 try {
                     Object obj = _processMethod.invoke(_composer, new Object[] {msgIn});
-                    // commit and acknowledge the reception of the message
-                    // this is done after extracting the content of the JMS Message.
-                    if (jmsSession.getTransacted()) {
-                        jmsSession.commit() ;
-                    } else {
-                        msgIn.acknowledge() ;
-                    }
                     
                     if (null == obj) {
                         _logger.warn("Action class method <"
                                 + _processMethod.getName()
                                 + "> returned a null object");
-                        continue;
-                    }
-                    // try to deliverAsync the composed message, using the
-                    // appropriate courier
-                    // to the target service
+                    } else {
+                        // try to deliverAsync the composed message, using the
+                        // appropriate courier
+                        // to the target service
 
-                    Map<String, Object> params = new HashMap<String, Object>();
+                        Map<String, Object> params = new HashMap<String, Object>();
 
-                    params.put(Environment.GATEWAY_CONFIG, _config);
+                        params.put(Environment.GATEWAY_CONFIG, _config);
 
-                    obj = FilterManager.getInstance().doOutputWork((Message) obj, params);
+                        obj = FilterManager.getInstance().doOutputWork((Message) obj, params);
 
-                    try {
-                    	Message message = (Message) obj;
-                    	_serviceInvoker.deliverAsync(message);
+                        try {
+                        	Message message = (Message) obj;
+                        	_serviceInvoker.deliverAsync(message);
+                        }
+                        catch (ClassCastException e) {
+                            _logger.error("Action class method <"
+                                    + _processMethod.getName()
+                                    + "> returned a non Message object", e);
+                            
+                            rollbackJMSTransaction();
+                        }
                     }
-                    catch (ClassCastException e) {
-                        _logger.error("Action class method <"
-                                + _processMethod.getName()
-                                + "> returned a non Message object", e);
-                        
-	                    rollbackJMSTransaction();
-                        continue;
+                    if (jmsSession.getTransacted()) {
+                        jmsSession.commit() ;
+                    } else {
+                        msgIn.acknowledge() ;
                     }
-                    continue;
                 }
                 catch (InvocationTargetException e) {
                     _logger.error("Problems invoking method <"




More information about the jboss-svn-commits mailing list