Diferencia entre revisiones de «ActiveMQ y Spring»

De Dos Ideas.
Saltar a: navegación, buscar
(Página creada con 'La integración de [ActiveMQ] con spring es muy simple. <code xml> <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:am…')
 
Línea 1: Línea 1:
La integración de [ActiveMQ] con spring es muy simple.
+
La integración de [[ActiveMQ]] con [[Spring Framework]] es muy simple.
 +
 
 +
== Configuración ==
  
 
<code xml>
 
<code xml>
Línea 43: Línea 45:
 
</code>
 
</code>
  
Mediante la configuración anterior podríamos realizar un test de componentes mockeando el servidor de mensajería y realizar la siguiente comprobación:
+
== Test de componentes ==
 +
 
 +
Mediante la configuración anterior podríamos realizar un test de componentes mockeando el servidor de mensajería productivo por el de [[ActiveMQ]] y realizar la siguiente comprobación:
  
 
<code java>
 
<code java>
  
 
@Autowired
 
@Autowired
@Qualifier("producerJmsTemplate")
+
private MiJmsDao miJmsDao;
private JmsTemplate producerJmsTemplate;
 
  
 
@Autowired
 
@Autowired
Línea 60: Línea 63:
  
 
         String mensaje = "Prueba";
 
         String mensaje = "Prueba";
         producerJmsTemplate.convertAndSend("destination", mensaje);
+
 
 +
         miJmsDao.enviar(mensaje);
 
          
 
          
 
         String mensajeRecibido =
 
         String mensajeRecibido =

Revisión del 15:08 8 jul 2011

La integración de ActiveMQ con Spring Framework es muy simple.

Configuración

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"

 xmlns:amq="http://activemq.apache.org/schema/core"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans 
   http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
   http://activemq.apache.org/schema/core 
   http://activemq.apache.org/schema/core/activemq-core-5.5.0.xsd">
 
   <amq:broker useJmx="false" persistent="false">
       <amq:transportConnectors>
           <amq:transportConnector uri="tcp://localhost:0" />
       </amq:transportConnectors>
   </amq:broker>
   <amq:queue id="destination"  physicalName="org.apache.activemq.spring.Test.spring.embedded"/>
   <amq:connectionFactory id="jmsFactory" brokerURL="vm://localhost"/>
 
   <bean id="producerJmsTemplate" class="org.springframework.jms.core.JmsTemplate">
       <property name="connectionFactory">
           <bean class="org.springframework.jms.connection.SingleConnectionFactory">
               <property name="targetConnectionFactory">
                   <ref local="jmsFactory" />
               </property>
           </bean>
       </property>
   </bean>
   <bean id="consumerJmsTemplate" class="org.springframework.jms.core.JmsTemplate">
       <property name="connectionFactory" ref="jmsFactory"/>
   </bean>

</beans>

Test de componentes

Mediante la configuración anterior podríamos realizar un test de componentes mockeando el servidor de mensajería productivo por el de ActiveMQ y realizar la siguiente comprobación:

@Autowired private MiJmsDao miJmsDao;

@Autowired @Qualifier("consummerJmsTemplate") private JmsTemplate consummerJmsTemplate;


@Test public void envioMensaje_HolaMundo_obtengoMensajeHolaMundo() {

       String mensaje = "Prueba";
       miJmsDao.enviar(mensaje);
       
       String mensajeRecibido =
       (String)consummerJmsTemplate.receiveAndConvert("destination");
       
       assertEquals(mensaje,mensajeRecibido);

}