Author: gnodet
Date: Sun Aug 20 12:22:37 2006
New Revision: 433018

URL: http://svn.apache.org/viewvc?rev=433018&view=rev
Log:
Update the basic sample to use servicemix-jms

Modified:
    incubator/servicemix/trunk/samples/basic/pom.xml
    incubator/servicemix/trunk/samples/basic/src/main/resources/servicemix.xml

Modified: incubator/servicemix/trunk/samples/basic/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/servicemix/trunk/samples/basic/pom.xml?rev=433018&r1=433017&r2=433018&view=diff
==============================================================================
--- incubator/servicemix/trunk/samples/basic/pom.xml (original)
+++ incubator/servicemix/trunk/samples/basic/pom.xml Sun Aug 20 12:22:37 2006
@@ -40,6 +40,10 @@
             <artifactId>servicemix-components</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.servicemix</groupId>
+            <artifactId>servicemix-jms</artifactId>
+        </dependency>
+        <dependency>
             <groupId>quartz</groupId>
             <artifactId>quartz</artifactId>
         </dependency>

Modified: 
incubator/servicemix/trunk/samples/basic/src/main/resources/servicemix.xml
URL: 
http://svn.apache.org/viewvc/incubator/servicemix/trunk/samples/basic/src/main/resources/servicemix.xml?rev=433018&r1=433017&r2=433018&view=diff
==============================================================================
--- incubator/servicemix/trunk/samples/basic/src/main/resources/servicemix.xml 
(original)
+++ incubator/servicemix/trunk/samples/basic/src/main/resources/servicemix.xml 
Sun Aug 20 12:22:37 2006
@@ -18,43 +18,68 @@
 

 -->

 <beans xmlns="http://xbean.org/schemas/spring/1.0";

-       xmlns:spring="http://xbean.org/schemas/spring/1.0";

-       xmlns:sm="http://servicemix.apache.org/config/1.0";

-       xmlns:amq="http://activemq.org/config/1.0";

-       xmlns:my="http://servicemix.apache.org/demo/";>

+            xmlns:sm="http://servicemix.apache.org/config/1.0";

+            xmlns:jms="http://servicemix.apache.org/jms/1.0";

+            xmlns:amq="http://activemq.org/config/1.0";

+            xmlns:my="http://servicemix.apache.org/demo/";>

 

 

        <!-- the JBI container -->

-       <sm:container spring:id="jbi" rootDir="./data/smx" useMBeanServer="true"

-               createMBeanServer="true" dumpStats="true"

-               statsInterval="10" transactionManager="#transactionManager">

+       <sm:container id="jbi" 

+                rootDir="./target/data/smx" 

+                useMBeanServer="true"

+                           createMBeanServer="true" 

+                dumpStats="true"

+                           statsInterval="10" 

+                transactionManager="#transactionManager" 

+                flowName="seda"

+                autoEnlistInTransaction="true">

 

                <sm:activationSpecs>

 

-                       <!-- lets kick off a timer to send messages on an input 
destination topic -->

-                       <sm:activationSpec componentName="timer" 
service="my:timer"

-                               destinationService="my:inputSender">

+      <!-- 

+       ~ This component will receive quartz timers.

+       ~ As we use static deployment mode (without Service Units),

+       ~ components are started in the order they are declared.

+       ~ So we must put this component before the quartz one. 

+       ~

+       ~ This component is a JMS publisher (role=provider) and

+       ~ will publish the message to the "servicemix.source" topic.     

+       -->

+                       <sm:activationSpec componentName="inputSender">

+                               <sm:component>

+                                 <jms:component>

+                                   <jms:endpoints>

+                                     <jms:endpoint service="my:inputSender" 

+                            endpoint="endpoint"

+                            role="provider"

+                            connectionFactory="#jmsFactory"

+                            jmsProviderDestinationName="servicemix.source"

+                            destinationStyle="topic" />

+            </jms:endpoints>

+          </jms:component>

+                               </sm:component>

+                       </sm:activationSpec>

+

+                       <!--

+       ~ This quartz component is configured to fire a timer every 5 seconds.

+       ~ JBI exchanges are sent to the "my:inputSender" service defined above.

+       -->

+                       <sm:activationSpec componentName="timer" 
service="my:timer" destinationService="my:inputSender">

                                <sm:component>

-                                       <bean 
xmlns="http://xbean.org/schemas/spring/1.0";

-                                               
class="org.apache.servicemix.components.quartz.QuartzComponent">

+                                       <bean 
class="org.apache.servicemix.components.quartz.QuartzComponent">

                                                <property name="triggers">

                                                        <map>

                                                                <entry>

                                                                        <key>

-                                                                               
<bean

-                                                                               
        class="org.quartz.SimpleTrigger">

-                                                                               
        <property

-                                                                               
                name="repeatInterval" value="5000" />

-                                                                               
        <property name="repeatCount"

-                                                                               
                value="-1" />

+                                                                               
<bean class="org.quartz.SimpleTrigger">

+                                                                               
        <property name="repeatInterval" value="5000" />

+                                                                               
        <property name="repeatCount" value="-1" />

                                                                                
</bean>

                                                                        </key>

-                                                                       <bean

-                                                                               
class="org.quartz.JobDetail">

-                                                                               
<property name="name"

-                                                                               
        value="My Example Job" />

-                                                                               
<property name="group"

-                                                                               
        value="ServiceMix" />

+                                                                       <bean 
class="org.quartz.JobDetail">

+                                                                               
<property name="name" value="My Example Job" />

+                                                                               
<property name="group" value="ServiceMix" />

                                                                        </bean>

                                                                </entry>

                                                        </map>

@@ -63,96 +88,96 @@
                                </sm:component>

                        </sm:activationSpec>

 

-                       <sm:activationSpec componentName="inputSender"

-                               service="my:inputSender">

-                               <sm:component>

-                                       <bean 
xmlns="http://xbean.org/schemas/spring/1.0";

-                                               
class="org.apache.servicemix.components.jms.JmsSenderComponent">

-                                               <property name="template">

-                                                       <bean

-                                                               
class="org.springframework.jms.core.JmsTemplate">

-                                                               <property 
name="connectionFactory">

-                                                                       <ref 
local="jmsFactory" />

-                                                               </property>

-                                                               <property 
name="defaultDestinationName"

-                                                                       
value="demo.org.servicemix.source" />

-                                                               <property 
name="pubSubDomain"

-                                                                       
value="true" />

-                                                       </bean>

-                                               </property>

-                                       </bean>

-                               </sm:component>

-                       </sm:activationSpec>

-

-

-                       <!-- lets subscribe and republish on a different JMS 
destination - i.e. make a JMS bridge -->

-                       <sm:activationSpec componentName="inputReceiver"

-                               service="my:inputReceiver" 
destinationService="my:outputSender">

-                               <sm:component>

-                                       <bean 
xmlns="http://xbean.org/schemas/spring/1.0";

-                                               
class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">

-                                               <property name="jcaContainer" 
ref="jencks" />

-                                               <property name="activationSpec">

-                                                       <bean

-                                                               
class="org.apache.activemq.ra.ActiveMQActivationSpec">

-                                                               <property 
name="destination"

-                                                                       
value="demo.org.servicemix.source" />

-                                                               <property 
name="destinationType"

-                                                                       
value="javax.jms.Topic" />

-                                                       </bean>

-                                               </property>

-                                       </bean>

-                               </sm:component>

-                       </sm:activationSpec>

-

-

-                       <sm:activationSpec componentName="outputSender"

-                               service="my:outputSender">

-                               <sm:component>

-                                       <bean 
xmlns="http://xbean.org/schemas/spring/1.0";

-                                               
class="org.apache.servicemix.components.jms.JmsSenderComponent">

-                                               <property name="template">

-                                                       <bean

-                                                               
class="org.springframework.jms.core.JmsTemplate">

-                                                               <property 
name="connectionFactory">

-                                                                       <ref 
local="jmsFactory" />

-                                                               </property>

-                                                               <property 
name="defaultDestinationName"

-                                                                       
value="demo.org.servicemix.result" />

-                                                               <property 
name="pubSubDomain"

-                                                                       
value="true" />

-                                                       </bean>

-                                               </property>

-                                       </bean>

-                               </sm:component>

-                       </sm:activationSpec>

-

-

-                       <!-- just to demonstrate that we are sending messages, 
lets trace the messages we receive -->

-                       <sm:activationSpec componentName="jmsTrace"

-                               service="my:jmsTrace" 
destinationService="my:trace">

-                               <sm:component>

-                                       <bean 
xmlns="http://xbean.org/schemas/spring/1.0";

-                                               
class="org.apache.servicemix.components.jms.JmsInUsingJCABinding">

-                                               <property name="jcaContainer" 
ref="jencks" />

-                                               <property name="activationSpec">

-                                                       <bean

-                                                               
class="org.apache.activemq.ra.ActiveMQActivationSpec">

-                                                               <property 
name="destination"

-                                                                       
value="demo.org.servicemix.result" />

-                                                               <property 
name="destinationType"

-                                                                       
value="javax.jms.Topic" />

-                                                       </bean>

-                                               </property>

-                                       </bean>

-                               </sm:component>

-                       </sm:activationSpec>

-

-                       <sm:activationSpec componentName="trace"

-                               service="my:trace">

+                       <!-- 

+       ~ This JMS component will subscribe to the "servicemix.source" topic, 
using JCA.

+       ~ It means that the JMS messages will be delivered inside an XA 

+       ~ transaction. JBI exchanges will be sent to the "my:outputSender"

+       ~ service (which is a JMS producer, so that a JMS bridge is created).  

+       -->

+                       <sm:activationSpec componentName="inputReceiver">

+                         <sm:component>

+                           <jms:component>

+                             <jms:endpoints>

+                               <jms:endpoint service="my:outputSender"

+                            endpoint="endpoint"

+                            role="consumer"

+                            processorName="jca"

+                            bootstrapContext="#bootstrapContext"

+                            resourceAdapter="#activeMQResourceAdapter"

+                            connectionFactory="#managedJmsFactory"

+                            defaultMep="http://www.w3.org/2004/08/wsdl/in-only";

+                            synchronous="true">

+                <jms:activationSpec>

+                                                       <bean 
class="org.apache.activemq.ra.ActiveMQActivationSpec">

+                                                               <property 
name="destination" value="servicemix.source" />

+                                                               <property 
name="destinationType" value="javax.jms.Topic" />

+                                                       </bean>

+                </jms:activationSpec>

+              </jms:endpoint>

+            </jms:endpoints>

+          </jms:component>

+        </sm:component>

+                       </sm:activationSpec>

+

+      <!--

+       ~ This JMS publisher will publish the JBI exchange

+       ~ to the "servicemix.result" topic using JCA.

+       -->

+                       <sm:activationSpec componentName="outputSender">

+                               <sm:component>

+                                 <jms:component>

+                                   <jms:endpoints>

+                                     <jms:endpoint service="my:outputSender" 

+                            endpoint="endpoint"

+                            role="provider"

+                            processorName="jca"

+                            connectionFactory="#managedJmsFactory"

+                            jmsProviderDestinationName="servicemix.result"

+                            destinationStyle="topic" />

+            </jms:endpoints>

+          </jms:component>

+                               </sm:component>

+                       </sm:activationSpec>

+

+

+                       <!-- 

+       ~ Just to demonstrate that we are sending messages, 

+       ~ lets trace the messages we receive.

+       ~ So subscribe to the "output" topic and sent the

+       ~ exchange to the trace component. 

+       -->

+                       <sm:activationSpec componentName="jmsTrace">

+                         <sm:component>

+                           <jms:component>

+                             <jms:endpoints>

+                               <jms:endpoint service="my:jmsTrace"

+                            endpoint="endpoint"

+                            role="consumer"

+                            processorName="jca"

+                            targetService="my:trace"

+                            bootstrapContext="#bootstrapContext"

+                            resourceAdapter="#activeMQResourceAdapter"

+                            connectionFactory="#managedJmsFactory"

+                            defaultMep="http://www.w3.org/2004/08/wsdl/in-only";

+                            synchronous="true">

+                <jms:activationSpec>

+                                                       <bean 
class="org.apache.activemq.ra.ActiveMQActivationSpec">

+                                                               <property 
name="destination" value="servicemix.result" />

+                                                               <property 
name="destinationType" value="javax.jms.Topic" />

+                                                       </bean>

+                </jms:activationSpec>

+              </jms:endpoint>

+            </jms:endpoints>

+          </jms:component>

+        </sm:component>

+                       </sm:activationSpec>

+

+      <!--

+       ~ Trace component to display exchanges to the console.

+       -->

+                       <sm:activationSpec componentName="trace" 
service="my:trace">

                                <sm:component>

-                                       <bean 
xmlns="http://xbean.org/schemas/spring/1.0";

-                                               
class="org.apache.servicemix.components.util.TraceComponent" />

+                                       <bean 
class="org.apache.servicemix.components.util.TraceComponent" />

                                </sm:component>

                        </sm:activationSpec>

                </sm:activationSpecs>

@@ -160,25 +185,13 @@
 

 

        <!-- the JCA container -->

-       <bean id="jencks" class="org.jencks.JCAContainer"

-               singleton="true">

-

-               <!-- lets use the default configuration of work manager and 
transaction manager-->

-               <property name="bootstrapContext">

-                       <bean

-                               
class="org.jencks.factory.BootstrapContextFactoryBean">

-                               <property name="threadPoolSize" value="25" />

-                       </bean>

-               </property>

+       <bean id="bootstrapContext" 
class="org.jencks.factory.BootstrapContextFactoryBean">

+               <property name="threadPoolSize" value="25" />

+       </bean>

 

-               <!-- the JCA Resource Adapter -->

-               <property name="resourceAdapter">

-                       <bean id="activeMQResourceAdapter"

-                               
class="org.apache.activemq.ra.ActiveMQResourceAdapter" singleton="true">

-                               <property name="serverUrl"

-                                       value="tcp://localhost:61616" />

-                       </bean>

-               </property>

+       <!-- the JCA Resource Adapter -->

+       <bean id="activeMQResourceAdapter" 
class="org.apache.activemq.ra.ActiveMQResourceAdapter" singleton="true">

+               <property name="serverUrl" value="tcp://localhost:61616" />

        </bean>

 

        <!-- message broker -->

@@ -188,20 +201,28 @@
                </amq:transportConnectors>

        </amq:broker>

 

-       <bean id="transactionContextManager" 

-               
class="org.jencks.factory.TransactionContextManagerFactoryBean"/>

-       <bean id="transactionManager"

-               
class="org.jencks.factory.GeronimoTransactionManagerFactoryBean" />

+       <bean id="transactionContextManager"  
class="org.jencks.factory.TransactionContextManagerFactoryBean"/>

+       <bean id="transactionManager" 
class="org.jencks.factory.GeronimoTransactionManagerFactoryBean" />

 

-       <bean id="jmsFactory"

-               class="org.apache.activemq.pool.PooledConnectionFactory">

+       <bean id="jmsFactory" 
class="org.apache.activemq.pool.PooledConnectionFactory" depends-on="broker">

                <property name="connectionFactory">

                        <bean 
class="org.apache.activemq.ActiveMQConnectionFactory">

-                               <property name="brokerURL">

-                                       <value>tcp://localhost:61616</value>

-                               </property>

+                               <property name="brokerURL" 
value="tcp://localhost:61616" />

                        </bean>

                </property>

        </bean>

 

+  <!-- A managed JMS ConnectionFactory for ActiveMQ -->

+  <bean id="activemqMCF" 
class="org.apache.activemq.ra.ActiveMQManagedConnectionFactory">

+    <property name="resourceAdapter">

+      <bean class="org.apache.activemq.ra.ActiveMQResourceAdapter">

+        <property name="serverUrl" value="tcp://localhost:61616"/>

+      </bean>

+    </property>

+  </bean>

+  <bean id="managedJmsFactory" 
class="org.springframework.jca.support.LocalConnectionFactoryBean">

+    <property name="managedConnectionFactory" ref="activemqMCF"/>

+    <property name="connectionManager" ref="connectionManager"/>

+  </bean>

+  <bean id="connectionManager" 
class="org.jencks.factory.ConnectionManagerFactoryBean" />

 </beans>



Reply via email to