[jboss-svn-commits] JBL Code SVN: r7417 - in labs/jbossesb/trunk: product/core/listeners/src/org/jboss/soa/esb/listeners/message product/core/services/src/org/jboss/internal/soa/esb/services/registry qa/junit/src/org/jboss/soa/esb/listeners/message
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Nov 6 10:18:49 EST 2006
Author: kurt.stam at jboss.com
Date: 2006-11-06 10:18:46 -0500 (Mon, 06 Nov 2006)
New Revision: 7417
Modified:
labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/CbrJmsQueueListener.java
labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/message/CbrJmsQueueListenerTest.java
Log:
Working on CBR config
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-06 14:45:54 UTC (rev 7416)
+++ labs/jbossesb/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/CbrJmsQueueListener.java 2006-11-06 15:18:46 UTC (rev 7417)
@@ -32,6 +32,7 @@
import org.jboss.soa.esb.couriers.CourierException;
import org.jboss.soa.esb.couriers.CourierFactory;
import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.listeners.ListenerInitializationException;
import org.jboss.soa.esb.listeners.ListenerTagNames;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.services.registry.RegistryException;
@@ -73,43 +74,46 @@
try {
ContentBasedRouter cbr =ContentBasedRouterFactory.getRouter();
String ruleSet=null;
- if (_config.getFirstChild(ListenerTagNames.CBR_TAG)==null ||
- (_config.getFirstChild(ListenerTagNames.CBR_TAG).getAttribute(ListenerTagNames.RULE_SET_TAG)==null)) {
- _logger.debug("No " + ListenerTagNames.CBR_TAG + " child element was found in " + _config.getName()
- + ". Assuming the ruleSet will be passed in via the Message");
+ if (_config.getFirstChild(ListenerTagNames.CBR_TAG)==null) {
+ _logger.error("Required child element " + ListenerTagNames.CBR_TAG + " not found in " + _config.getName() + ".");
+ throw new ListenerInitializationException("Required child element " + ListenerTagNames.CBR_TAG + " not found.");
+ } else {
ruleSet =_config.getFirstChild(ListenerTagNames.CBR_TAG).getAttribute(ListenerTagNames.RULE_SET_TAG);
+ if (ruleSet==null) {
+ throw new ListenerInitializationException("Required attribute " + ListenerTagNames.RULE_SET_TAG + " not found.");
+ }
+ }
- _controller.register(_config,_epr);
- while (_controller.continueLooping()) {
- long lwait = _controller.millisToWait();
- Message message = (lwait > 0 ) ? receiveEsbMessage(100) : null;
- if (null!=message) {
- _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);
- try {
- _logger.debug("Replying to caller");
- EPR replyTo = message.getHeader().getCall().getReplyTo();
- if (replyTo!=null) {
- CourierFactory.getCourier(replyTo).deliver(message);
- } else {
- _logger.log(Priority.ERROR, "Unable to reply to caller. Could not optain replyTo EPR.");
- }
- } catch (URISyntaxException use) {
- _logger.log(Priority.ERROR, "Unable to reply to caller. "+ use.getLocalizedMessage(), use);
- } catch (CourierException ce) {
- _logger.log(Priority.ERROR, "Unable to reply to caller. "+ ce.getLocalizedMessage(), ce);
- }
- }
- }
- }
- _controller.unRegister(_eprCategoryName, _eprName, _epr);
- } else {
- _logger.log(Priority.FATAL, "Could not obtain ruleset.");
- }
- } catch (RegistryException mre) {
- _logger.log(Priority.FATAL, mre.getLocalizedMessage(), mre);
+ _controller.register(_config,_epr);
+ while (_controller.continueLooping()) {
+ long lwait = _controller.millisToWait();
+ Message message = (lwait > 0 ) ? receiveEsbMessage(100) : null;
+ if (null!=message) {
+ _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);
+ try {
+ _logger.debug("Replying to caller");
+ EPR replyTo = message.getHeader().getCall().getReplyTo();
+ if (replyTo!=null) {
+ CourierFactory.getCourier(replyTo).deliver(message);
+ } else {
+ _logger.log(Priority.ERROR, "Unable to reply to caller. Could not optain replyTo EPR.");
+ }
+ } catch (URISyntaxException use) {
+ _logger.log(Priority.ERROR, "Unable to reply to caller. "+ use.getLocalizedMessage(), use);
+ } catch (CourierException ce) {
+ _logger.log(Priority.ERROR, "Unable to reply to caller. "+ ce.getLocalizedMessage(), ce);
+ }
+ }
+ }
+ }
+ _controller.unRegister(_eprCategoryName, _eprName, _epr);
+ } catch (ListenerInitializationException lie) {
+ _logger.log(Priority.FATAL, lie.getLocalizedMessage(), lie);
+ } catch (RegistryException re) {
+ _logger.log(Priority.FATAL, re.getLocalizedMessage(), re);
} catch (MessageRouterException mre) {
_logger.log(Priority.FATAL, mre.getLocalizedMessage(), mre);
} finally {
Modified: labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java
===================================================================
--- labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java 2006-11-06 14:45:54 UTC (rev 7416)
+++ labs/jbossesb/trunk/product/core/services/src/org/jboss/internal/soa/esb/services/registry/JAXRRegistryImpl.java 2006-11-06 15:18:46 UTC (rev 7417)
@@ -305,6 +305,9 @@
Connection connection = JAXRRegistryImpl.getConnection();
try {
Service service = findService(category, serviceName);
+ if (service==null){
+ throw new RegistryException("Could not find service with category=" + category + " and serviceName=" + serviceName);
+ }
// Get registry service and business query manager
Collection<ServiceBinding> serviceBindings = findServiceBindings(service);
//Converting them to EPRs
Modified: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/message/CbrJmsQueueListenerTest.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/message/CbrJmsQueueListenerTest.java 2006-11-06 14:45:54 UTC (rev 7416)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/listeners/message/CbrJmsQueueListenerTest.java 2006-11-06 15:18:46 UTC (rev 7417)
@@ -38,6 +38,7 @@
import org.jboss.soa.esb.addressing.EPR;
import org.jboss.soa.esb.common.tests.HsqldbUtil;
import org.jboss.soa.esb.couriers.Courier;
+import org.jboss.soa.esb.couriers.CourierException;
import org.jboss.soa.esb.couriers.CourierFactory;
import org.jboss.soa.esb.listeners.message.EsbListenerController;
import org.jboss.soa.esb.message.Message;
@@ -81,9 +82,12 @@
sendMessage("First Message");
//The second time the rulesEngine should be primed.
sendMessage("Second Message");
- } catch (Exception e) {
+ } catch (RegistryException re) {
+ re.printStackTrace();
assertTrue(false);
- e.printStackTrace();
+ } catch (CourierException ce) {
+ ce.printStackTrace();
+ assertTrue(false);
}
}
/**
@@ -92,23 +96,18 @@
* @param body - a String containing the body of the message.
* @throws Exception
*/
- private static void sendMessage(String body) throws Exception{
+ private static void sendMessage(String body) throws RegistryException, CourierException{
Message msg = MessageFactory.getInstance().getMessage();
msg.getBody().setContents(body.getBytes());
- msg.getProperties().setProperty(MessageRouter.DELIVER_MESSAGES, Boolean.TRUE);
- try {
- Registry registry = RegistryFactory.getRegistry();
- Collection<EPR> eprs = registry.findEPRs(SERVICE_CATEGORY_NAME, SERVICE_NAME);
- for (Iterator<EPR> eprIterator=eprs.iterator();eprIterator.hasNext();){
- //Just use the first EPR in the list.
- EPR epr = eprIterator.next();
- Courier courier = CourierFactory.getCourier(epr);
- courier.deliver(msg);
- break;
- }
- }catch(RegistryException e) {
- System.out.println("nobody servicing service " + SERVICE_NAME);
- return;
+ msg.getProperties().setProperty(MessageRouter.DELIVER_MESSAGES, Boolean.FALSE);
+ Registry registry = RegistryFactory.getRegistry();
+ Collection<EPR> eprs = registry.findEPRs(SERVICE_CATEGORY_NAME, SERVICE_NAME);
+ for (Iterator<EPR> eprIterator=eprs.iterator();eprIterator.hasNext();){
+ //Just use the first EPR in the list.
+ EPR epr = eprIterator.next();
+ Courier courier = CourierFactory.getCourier(epr);
+ courier.deliver(msg);
+ break;
}
}
@@ -175,7 +174,7 @@
// give the listener time to register
Thread.sleep(5000);
- } catch (Exception e) {
+ } catch (Throwable e) {
e.printStackTrace();
System.out.println("We should stop testing, since we don't have a db.");
assertTrue(false);
More information about the jboss-svn-commits
mailing list