[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