Diferencia entre revisiones de «ActiveMQ y Spring»
De Dos Ideas.
								
												
				|  (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…') | |||
| (No se muestra una edición intermedia del mismo usuario) | |||
| Línea 1: | Línea 1: | ||
| − | La integración de [ActiveMQ] con  | + | La integración de [[Apache 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 | ||
| − | + | private MiJmsDao miJmsDao; | |
| − | private  | ||
| @Autowired | @Autowired | ||
| Línea 60: | Línea 63: | ||
|          String mensaje = "Prueba"; |          String mensaje = "Prueba"; | ||
| − | + | ||
| + |          miJmsDao.enviar(mensaje); | ||
|          String mensajeRecibido = |          String mensajeRecibido = | ||
Revisión actual del 15:09 8 jul 2011
La integración de Apache 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);
}
