All Downloads are FREE. Search and download functionalities are using the official Maven repository.

examples.jms.jms-bridge.server1.hornetq-beans.xml Maven / Gradle / Ivy

The newest version!
<?xml version="1.0" encoding="UTF-8"?>

<deployment xmlns="urn:jboss:bean-deployer:2.0">

   <bean name="Naming" class="org.jnp.server.NamingBeanImpl"/>

   <!-- JNDI server. Disable this if you don't want JNDI -->
   <bean name="JNDIServer" class="org.jnp.server.Main">
      <property name="namingInfo">
         <inject bean="Naming"/>
      </property>
      <!-- **************************************** -->
      <!-- Replace with the *target* server address -->
      <!-- **************************************** -->
      <property name="bindAddress">@TARGET_SERVER@</property>
      <!-- **************************************** -->
      <!-- Replace with the *target* server address -->
      <!-- **************************************** -->
      <property name="rmiBindAddress">@TARGET_SERVER@</property>
      <property name="port">1099</property>
      <property name="rmiPort">1098</property>
   </bean>
   
   <!-- MBean server -->
   <bean name="MBeanServer" class="javax.management.MBeanServer">
      <constructor factoryClass="java.lang.management.ManagementFactory"
                   factoryMethod="getPlatformMBeanServer"/>
   </bean> 

   <!-- The core configuration -->
   <bean name="Configuration" class="org.hornetq.core.config.impl.FileConfiguration"/>

   <!-- The security manager -->
   <bean name="HornetQSecurityManager" class="org.hornetq.spi.core.security.HornetQSecurityManagerImpl">
      <start ignored="true"/>
      <stop ignored="true"/>
   </bean>

   <!-- The core server -->
   <bean name="HornetQServer" class="org.hornetq.core.server.impl.HornetQServerImpl">
      <constructor>
         <parameter>
            <inject bean="Configuration"/>
         </parameter>
         <parameter>
            <inject bean="MBeanServer"/>
         </parameter>
         <parameter>
            <inject bean="HornetQSecurityManager"/>
         </parameter>        
      </constructor>
      <start ignored="true"/>
      <stop ignored="true"/>
   </bean>
   
   <!-- The JMS server -->
   <bean name="JMSServerManager" class="org.hornetq.jms.server.impl.JMSServerManagerImpl">
      <constructor>         
         <parameter>
            <inject bean="HornetQServer"/>
         </parameter>
      </constructor>
   </bean>
   
   <!-- The JMS Bridge -->
   <bean name="JMSBridge" class="org.hornetq.jms.bridge.impl.JMSBridgeImpl">
           <constructor>
               <!-- Source ConnectionFactory Factory -->
               <parameter>
                   <inject bean="SourceCFF"/>
               </parameter>
               <!-- Target ConnectionFactory Factory -->
               <parameter>
                   <inject bean="TargetCFF"/>
               </parameter>
               <!-- Source DestinationFactory -->
               <parameter>
                   <inject bean="SourceDestinationFactory"/>
               </parameter>
               <!-- Target DestinationFactory -->
               <parameter>
                   <inject bean="TargetDestinationFactory"/>
               </parameter>
               <!-- Source username (no username here) -->
               <parameter><null /></parameter>
               <!-- Source password (no password here)-->
               <parameter><null /></parameter>
               <!-- Target username (no username here)-->
               <parameter><null /></parameter>
               <!-- Target password (no password here)-->
               <parameter><null /></parameter>
               <!-- Selector -->
               <parameter><null /></parameter>
               <!-- Interval to retry in case of failure (in ms) -->
               <parameter>5000</parameter>
               <!-- Maximum number of retries to connect to the source and target -->
               <parameter>10</parameter>
               <!-- Quality of service -->
               <parameter>ONCE_AND_ONLY_ONCE</parameter>
               <!-- Maximum batch size -->
               <parameter>1</parameter>
               <!-- Maximum batch time (-1 means infinite) -->
               <parameter>-1</parameter>
               <!-- Subscription name (no subscription name here)-->
               <parameter><null /></parameter>
               <!-- client ID  (no client ID here)-->
               <parameter><null /></parameter>
               <!-- concatenate JMS messageID to the target's message header -->
               <parameter>true</parameter>
               <!-- register the JMS Bridge in the JMX MBeanServer -->
               <parameter>
                   <inject bean="MBeanServer"/>
               </parameter>
               <parameter>org.hornetq:service=JMSBridge</parameter>
           </constructor>
           <property name="transactionManager">
               <inject bean="TransactionManager"/>
           </property>
           
           <!-- HornetQ JMS Server must be started before the bridge -->
           <depends>JMSServerManager</depends>
           
       </bean>

       <bean name="TransactionManager" class="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple">
       </bean>

       <!-- SourceCFF describes the ConnectionFactory used to connect to the source destination -->
       <bean name="SourceCFF" class="org.hornetq.jms.bridge.impl.JNDIConnectionFactoryFactory">
           <constructor>
               <parameter>
                   <inject bean="SourceJNDI" />
               </parameter>
               <parameter>/source/ConnectionFactory</parameter>
           </constructor>  
       </bean>

       <!-- TargetCFF describes the ConnectionFactory used to connect to the target destination -->
       <bean name="TargetCFF" class="org.hornetq.jms.bridge.impl.JNDIConnectionFactoryFactory">
           <constructor>
               <parameter>
                   <inject bean="TargetJNDI" />
               </parameter>
               <parameter>/target/ConnectionFactory</parameter>
           </constructor>  
       </bean>

       <!-- SourceDestinationFactory describes the Destination used as the source -->
       <bean name="SourceDestinationFactory" class="org.hornetq.jms.bridge.impl.JNDIDestinationFactory">
           <constructor>
               <parameter>
                   <inject bean="SourceJNDI" />
               </parameter>
               <parameter>/source/topic</parameter>
           </constructor>  
       </bean>

       <!-- TargetDestinationFactory describes the Destination used as the target -->
       <bean name="TargetDestinationFactory" class="org.hornetq.jms.bridge.impl.JNDIDestinationFactory">
           <constructor>
               <parameter>
                   <inject bean="TargetJNDI" />
               </parameter>
               <parameter>/target/queue</parameter>
           </constructor>  
       </bean>
       
       <!-- JNDI is a Hashtable containing the JNDI properties required -->
       <!-- to connect to the *source* JMS resources                    -->       
      <bean name="SourceJNDI" class="java.util.Hashtable">
         <constructor class="java.util.Map">
            <map class="java.util.Hashtable" keyClass="java.lang.String"
                                             valueClass="java.lang.String">
               <entry>
                  <key>java.naming.factory.initial</key>
                  <value>org.jnp.interfaces.NamingContextFactory</value>
               </entry>
               <entry>
                  <key>java.naming.provider.url</key>
                  <!-- **************************************** -->
                  <!-- Replace with the *source* server address -->
                  <!-- **************************************** -->
                  <value>jnp://@SOURCE_SERVER@:1099</value>
               </entry>
               <entry>
                  <key>java.naming.factory.url.pkgs</key>
                  <value>org.jboss.naming:org.jnp.interfaces"</value>
               </entry>
               <entry>
                  <key>jnp.timeout</key>
                  <value>5000</value>
               </entry>
               <entry>
                  <key>jnp.sotimeout</key>
                  <value>5000</value>
               </entry>
            </map>
         </constructor>
      </bean>
      
      <!-- JNDI is a Hashtable containing the JNDI properties required -->
      <!-- to connect to the *target* JMS resources                    -->       
      <bean name="TargetJNDI" class="java.util.Hashtable">
         <constructor class="java.util.Map">
            <map class="java.util.Hashtable" keyClass="java.lang.String"
                                             valueClass="java.lang.String">
               <entry>
                  <key>java.naming.factory.initial</key>
                  <value>org.jnp.interfaces.NamingContextFactory</value>
               </entry>
               <entry>
                  <key>java.naming.provider.url</key>
                  <!-- **************************************** -->
                  <!-- Replace with the *target* server address -->
                  <!-- **************************************** -->
                  <value>jnp://@TARGET_SERVER@:1099</value>
               </entry>
               <entry>
                  <key>java.naming.factory.url.pkgs</key>
                  <value>org.jboss.naming:org.jnp.interfaces"</value>
               </entry>
               <entry>
                  <key>jnp.timeout</key>
                  <value>5000</value>
               </entry>
               <entry>
                  <key>jnp.sotimeout</key>
                  <value>5000</value>
               </entry>
            </map>
         </constructor>
      </bean>

</deployment>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy