[jboss-dev-forums] [Design of JBoss ESB] - Re: Configuration - normalization

tfennelly do-not-reply at jboss.com
Fri Dec 15 12:59:52 EST 2006


OK, we're back!  But this time we can say we have truely reached a consensus.  Kurt is going to add his name to this once he comes back from lunch - he promised :-)

So we've finally agreed on an approach that keeps both of us happy.  We had a very detailed negotiation and we're both happy campers now.  This doesn't undo any of the work we've been doing.

The config has 2 main sections - "providers" and "services".  The providers section encapsulates the bus/channel info (we both hate the name "bus" here :-) ).  Basically they're "Bus Providers" and there can be different types - JMS, FTP etc.  The "services" section then defines the services - their Gateway and ESB Aware Listerns, Actions etc.  The listeners reference whatever bus/channel it is that they receive messages on.  Simple as that :-)


  | <?xml version = "1.0" encoding = "UTF-8"?>
  | <jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.xsd">
  | 
  | 	<providers>
  | 	    <jms-provider connection-factory="com.xyz.provider.XYZConnectionFactory"
  | 	              jndi-context-factory="....jboss"
  | 	              jndi-URL="xyz://server1:9876"  jndi-pkg-prefix="com.xyz">
  | 	
  | 		<jms-bus busid="x-queue">
  | 			<jms-message-filter dest-type="QUEUE" dest-name="queue/A" selector="service='Reconciliation'" />
  | 		</jms-bus>
  | 		<jms-bus busid="service-queue">
  | 			<!-- 
  | 				See how we add a JMS selector to this filter at the listener level.  Look
  | 				for listeners that use the "service-queue" bus.
  | 			-->
  | 			<jms-message-filter dest-type="QUEUE" dest-name="XYZ" />
  | 		</jms-bus>
  | 	    </ms-provider>
  | 	
  | 	    <jms-provider connection-factory="com.xyz.provider.XYZConnectionFactory"
  | 	              jndi-context-factory="....activemq"
  | 	              jndi-URL="xyz://server1:9876"  jndi-pkg-prefix="com.xyz">
  | 	
  | 		<jms-bus busid="y-queue">
  | 			<jms-message-filter dest-type="TOPIC" dest-name="topic/Z" />
  | 		</jms-bus>
  | 	    </ms-provider>
  | 	
  | 	    <ftp-provider some-ftp-provider-prop="blah-ftp-prop" ..... >
  | 		<!-- 
  | 			See how we specify a filter for this FTP bus at the listener level. Look
  | 			for listeners the use the "blah-ftp-bus" jus.
  | 		 -->
  | 	    	<ftp-bus busid="blah-ftp-bus" some-ftp-bus-param="x"/>
  | 	    </ftp-provider>
  | 	
  | 	</providers>
  | 	
  | 	<services>    
  | 	      <service category="Bank" name="Reconciliation" description="Bank Reconciliation Service">
  | 	
  | 	                <listeners>
  | 			    <!-- Gateway Listeners -->
  | 	                    <jms-listener name="Reconciliation-JMS-Gateway"
  | 	                                is-gateway="true"
  | 	                                busidref="x-queue"
  | 	                                maxThreads="1"/>
  | 	                    <ftp-listener name="Reconciliation-FTP-Gateway"
  | 	                                is-gateway="true"
  | 	                                busidref="blah-ftp-bus">
  | 				<ftp-message-filter dir="reconciliation" />
  | 	                    </ftp-listener>
  | 	
  | 			    <!-- The Service Listener -->
  | 	                    <jms-listener name="Reconciliation-Service"
  | 	                                is-gateway="false"
  | 	                                busidref="service-queue"
  | 	                                maxThreads="2">
  | 				<jms-message-filter selector="service='Reconciliation'" />
  | 	                    </jms-listener>
  | 	                </listeners>        
  | 	
  | 	                <actions>            
  | 				.......
  | 	                </actions>
  | 	
  | 	     </service>    
  | 	      <service category="Bank" name="Auditing" description="Bank Auditing Service">
  | 	
  | 	                <listeners>
  | 			    <!-- Gateway Listeners -->
  | 	                    <jms-listener name="Auditing-JMS-Gateway"
  | 	                                is-gateway="true"
  | 	                                busidref="y-queue"
  | 	                                maxThreads="1"/>
  | 	                    <ftp-listener name="Auditing-FTP-Gateway"
  | 	                                is-gateway="true"
  | 	                                busidref="blah-ftp-bus"
  | 	                                busidref="blah-ftp-bus">
  | 				<ftp-message-filter dir="auditing" />
  | 	                    </ftp-listener>
  | 	
  | 			    <!-- The Service Listener -->
  | 	                    <jms-listener name="Auditing-Service"
  | 	                                is-gateway="false"
  | 	                                busidref="service-queue"
  | 	                                maxThreads="2">
  | 				<jms-message-filter selector="service='Auditing'" />
  | 	                    </jms-listener>
  | 	                </listeners>        
  | 	
  | 	                <actions>            
  | 				......
  | 	                </actions>
  | 	
  | 	     </service>    
  | 	</services>
  | 
  | </jbossesb>
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3994300#3994300

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3994300



More information about the jboss-dev-forums mailing list