[jboss-svn-commits] JBL Code SVN: r7432 - in labs/jbossesb/trunk: product/core/listeners/src/org/jboss/soa/esb/actions product/core/listeners/src/org/jboss/soa/esb/listeners/message product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr qa/junit/src/org/jboss/soa/esb/actions
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Nov 7 13:34:21 EST 2006
Author: kurt.stam at jboss.com
Date: 2006-11-07 13:34:17 -0500 (Tue, 07 Nov 2006)
New Revision: 7432
Added:
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTestFragment1.xml
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTestFragment2.xml
Removed:
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTestFragment.xml
Modified:
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/CbrProxyAction.java
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/CbrJmsQueueListener.java
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/JmsQueueReplyListener.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java
labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRoutingUnitTest.java
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTest.java
Log:
cbr qa test
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/CbrProxyAction.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/CbrProxyAction.java 2006-11-07 18:19:28 UTC (rev 7431)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/CbrProxyAction.java 2006-11-07 18:34:17 UTC (rev 7432)
@@ -28,6 +28,7 @@
import org.apache.log4j.Logger;
import org.apache.log4j.Priority;
+import org.jboss.soa.esb.addressing.Call;
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.addressing.eprs.JMSEpr;
import org.jboss.soa.esb.couriers.Courier;
@@ -99,6 +100,7 @@
*/
public Message route(Message message)
{
+ message.getProperties().setProperty(MessageRouter.DELIVER_MESSAGES, Boolean.FALSE);
Message replyMessage=null;
JmsQueueReplyListener jmsQueueReplyListener = new JmsQueueReplyListener();
try {
@@ -109,8 +111,16 @@
Courier courier = CourierFactory.getCourier(epr);
//If not successful try the next EPR
if (JMSEpr.class.equals(epr.getClass())) {
+ //Setting the replyTo to the queue we specific in the epr we are going to call
+ //The selectors will do the job.
+ if (message.getHeader().getCall()==null) {
+ Call call = new Call();
+ message.getHeader().setCall(call);
+ }
+
+ message.getHeader().getCall().setReplyTo(epr);
+ String uniqueReplySelector = jmsQueueReplyListener.setCorrelationId(message);
if (courier.deliver(message)) {
- String uniqueReplySelector = jmsQueueReplyListener.setCorrelationId(message);
replyMessage = jmsQueueReplyListener.listen((JMSEpr)epr, uniqueReplySelector);
break;
} else {
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/CbrJmsQueueListener.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/CbrJmsQueueListener.java 2006-11-07 18:19:28 UTC (rev 7431)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/CbrJmsQueueListener.java 2006-11-07 18:34:17 UTC (rev 7432)
@@ -29,6 +29,7 @@
import org.apache.log4j.Priority;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.addressing.EPR;
+import org.jboss.soa.esb.addressing.eprs.JMSEpr;
import org.jboss.soa.esb.couriers.CourierException;
import org.jboss.soa.esb.couriers.CourierFactory;
import org.jboss.soa.esb.helpers.ConfigTree;
@@ -89,10 +90,11 @@
_logger.log(Priority.DEBUG, "Sending message to the Content Based Router.");
Collection<String> destinationServices = cbr.route(ruleSet, message);
if (Boolean.FALSE.equals(message.getProperties().getProperty(MessageRouter.DELIVER_MESSAGES))) {
- message.getBody().add(MessageRouter.ROUTING_DESTINATION_SERVICE_LIST, destinationServices);
+ //message.getBody().add(MessageRouter.ROUTING_DESTINATION_SERVICE_LIST, destinationServices);
try {
_logger.debug("Replying to caller");
- EPR replyTo = message.getHeader().getCall().getReplyTo();
+ //TODO For now it's ok to assume it's JMS. But going forward this needs to be fixed
+ JMSEpr replyTo = new JMSEpr(message.getHeader().getCall().getReplyTo());
if (replyTo!=null) {
CourierFactory.getCourier(replyTo).deliver(message);
} else {
Modified: labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/JmsQueueReplyListener.java
===================================================================
--- labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/JmsQueueReplyListener.java 2006-11-07 18:19:28 UTC (rev 7431)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/JmsQueueReplyListener.java 2006-11-07 18:34:17 UTC (rev 7432)
@@ -114,23 +114,17 @@
{
MessageConsumer consumer = null;
javax.jms.Message jmsMessage = null;
- try
- {
- consumer = getConsumer(epr, uniqueReplySelector);
- jmsMessage = consumer.receive(LISTEN_TIME_OUT); //TODO Kurt why this timeout?
- }
- catch (JMSException oJ)
{
- for (int i1 = 0; i1 < 3; i1++)
- // try to reconnect to the queue
+ for (int i = 0; i < 3; i++)
try
{
consumer = getConsumer(epr, uniqueReplySelector);
jmsMessage = consumer.receive(LISTEN_TIME_OUT);
+ break;
}
catch (Exception e)
{
- _logger.error("JMS error on receive. Attempting JMS Destination reconnect.", oJ);
+ _logger.error("JMS error on receive. Attempting JMS Destination reconnect.", e);
_logger.error("Reconnecting to Queue", e);
try { Thread.sleep(SLEEP_FOR_RETRY); }
catch (InterruptedException e1)
@@ -138,10 +132,8 @@
_logger.error("Unexpected thread interupt exception.", e);
break;
}
- }
+ } finally {cleanupJms(); }
}
- finally {cleanupJms(); }
-
if (null == jmsMessage)
return null;
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java 2006-11-07 18:19:28 UTC (rev 7431)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java 2006-11-07 18:34:17 UTC (rev 7432)
@@ -11,6 +11,7 @@
import org.w3c.dom.CDATASection;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
/*
@@ -149,12 +150,14 @@
}
else
{
- Object value = MarshalUnmarshalManager.getInstance().unmarshal((Element) child.getFirstChild());
-
- if (value == null)
- throw new UnmarshalException("Cannot unpack object "+child.getNodeName());
- else
- _objects.put(child.getNodeName(), value);
+ Object value = child.getFirstChild();
+ if (value instanceof Element) {
+ value = MarshalUnmarshalManager.getInstance().unmarshal((Element) child.getFirstChild());
+ if (value == null)
+ throw new UnmarshalException("Cannot unpack object "+child.getNodeName());
+ else
+ _objects.put(child.getNodeName(), value);
+ }
}
}
}
Modified: labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRoutingUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRoutingUnitTest.java 2006-11-07 18:19:28 UTC (rev 7431)
+++ labs/jbossesb/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/routing/cbr/ContentBasedRoutingUnitTest.java 2006-11-07 18:34:17 UTC (rev 7432)
@@ -33,6 +33,7 @@
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.esb.services.routing.MessageRouter;
import org.jboss.soa.esb.services.routing.MessageRouterException;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -57,6 +58,7 @@
//set some object attachments inside the Message
message.getAttachment().addItem(new String("TEST ATTACHMENT1"));
message.getAttachment().addItem(new String("TEST ATTACHMENT2"));
+ message.getProperties().setProperty(MessageRouter.DELIVER_MESSAGES, Boolean.FALSE);
ContentBasedRouter cbr = ContentBasedRouterFactory.getRouter();
List<String> destinationServices = cbr.route("JBossESBRules.drl",message);
@@ -81,6 +83,7 @@
//set some object attachments inside the Message
message.getAttachment().addItem(new String("TEST ATTACHMENT1"));
message.getAttachment().addItem(new String("TEST ATTACHMENT2"));
+ message.getProperties().setProperty(MessageRouter.DELIVER_MESSAGES, Boolean.FALSE);
ContentBasedRouter cbr = ContentBasedRouterFactory.getRouter();
List<String> destinationServices = cbr.route("JBossESBRules.drl",message);
Modified: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTest.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTest.java 2006-11-07 18:19:28 UTC (rev 7431)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTest.java 2006-11-07 18:34:17 UTC (rev 7432)
@@ -63,14 +63,13 @@
private static String mDbUsername;
private static String mDbPassword;
- @Test
+
public void routeAndDeliver()
{
try {
Message message = MessageFactory.getInstance().getMessage();
message.getBody().setContents("Body".getBytes());
- @SuppressWarnings("unused")
- ConfigTree config = ConfigTree.fromInputStream(getClass().getResourceAsStream("CbrProxyActionUnitTestFragment.xml"));
+ ConfigTree config = ConfigTree.fromInputStream(getClass().getResourceAsStream("CbrProxyActionUnitTestFragment1.xml"));
ActionProcessingPipeline chain = null;
@@ -90,6 +89,34 @@
}
}
+ @Test
+ public void route()
+ {
+ try {
+ Message message = MessageFactory.getInstance().getMessage();
+ message.getBody().setContents("Body".getBytes());
+ ConfigTree config = ConfigTree.fromInputStream(getClass().getResourceAsStream("CbrProxyActionUnitTestFragment2.xml"));
+
+ ActionProcessingPipeline chain = null;
+
+ try {
+ chain = new ActionProcessingPipeline(message,config);
+ }catch (IllegalArgumentException e){
+ e.printStackTrace();
+ } catch (ConfigurationException e){
+ e.printStackTrace();
+ }
+ new Thread(chain).start();
+ //give the CBR some time to finish
+ Thread.sleep(5000);
+ } catch (Exception e) {
+ assertTrue(false);
+ e.printStackTrace();
+ }
+ }
+
+
+
@BeforeClass
public static void runBeforeAllTests()
{
Deleted: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTestFragment.xml
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTestFragment.xml 2006-11-07 18:19:28 UTC (rev 7431)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTestFragment.xml 2006-11-07 18:34:17 UTC (rev 7432)
@@ -1,10 +0,0 @@
-<CbrProxyActionTest>
-<action name="TestDefaultRouteAction"
- class="org.jboss.soa.esb.actions.CbrProxyAction"
- service-category="MessageRouting"
- service-name="ContentBasedRoutingService" />
-
-
-</CbrProxyActionTest>
-
-
Copied: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTestFragment1.xml (from rev 7424, labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTestFragment.xml)
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTestFragment.xml 2006-11-07 14:41:17 UTC (rev 7424)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTestFragment1.xml 2006-11-07 18:34:17 UTC (rev 7432)
@@ -0,0 +1,9 @@
+<CbrProxyActionTest>
+<action name="TestDefaultRouteAction"
+ class="org.jboss.soa.esb.actions.CbrProxyAction"
+ service-category="MessageRouting"
+ service-name="ContentBasedRoutingService" />
+
+</CbrProxyActionTest>
+
+
Added: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTestFragment2.xml
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTestFragment2.xml 2006-11-07 18:19:28 UTC (rev 7431)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/actions/CbrProxyActionUnitTestFragment2.xml 2006-11-07 18:34:17 UTC (rev 7432)
@@ -0,0 +1,10 @@
+<CbrProxyActionTest>
+<action name="TestDefaultRouteAction"
+ process="route"
+ class="org.jboss.soa.esb.actions.CbrProxyAction"
+ service-category="MessageRouting"
+ service-name="ContentBasedRoutingService" />
+
+</CbrProxyActionTest>
+
+
More information about the jboss-svn-commits
mailing list