Está en la página 1de 3

Universidad de las Américas

Ingeniería de Software
Integración de Sistemas
Kevin Anchapaxi
Apache ActiveMQ es un agente de mensajes basado en Java, multiprotocolo y de código
abierto. Es compatible con los protocolos estándar de la industria para que los usuarios obtengan
los beneficios de las opciones en una amplia gama de plataformas. Puede integrar aplicaciones
multiplataforma utilizando el protocolo AMQP, además respalda la infraestructura JMS
existente.
Creación y conexión con un agente de ActiveMQ y Amazon MQ
Es el componente básico de Amazon MQ. La descripción combinada de la instancia del agente
clase y tamaño es un tipo de instancias del agente.
Conectar una aplicación Java
Después de crear un agente de ActiveMQ en Amazon MQ, se conecta la aplicación a él. Puede
conectarse a los agentes de ActiveMQ mediante distintos clientes de ActiveMQ.

Crear un productor de mensajes y enviar un mensaje


1. Crear una fábrica de conexiones JMS agrupadas para el productor de mensajes
utilizando el punto de enlace de su agente y, a continuación, ejecutar el método
createConnection contra la fábrica.
// Create a connection factory.
final ActiveMQConnectionFactory connectionFactory = new
ActiveMQConnectionFactory(wireLevelEndpoint);

// Pass the username and password.


connectionFactory.setUserName(activeMqUsername);
connectionFactory.setPassword(activeMqPassword);

// Create a pooled connection factory.


final PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory();
pooledConnectionFactory.setConnectionFactory(connectionFactory);
pooledConnectionFactory.setMaxConnections(10);

// Establish a connection for the producer.


final Connection producerConnection = pooledConnectionFactory.createConnection();
producerConnection.start();

2. Crear una sesión, una cola con el nombre MyQueue y un productor de mensajes.

// Create a session.
final Session producerSession = producerConnection.createSession(false,
Session.AUTO_ACKNOWLEDGE);

// Create a queue named "MyQueue".


final Destination producerDestination = producerSession.createQueue("MyQueue");

// Create a producer from the session to the queue.


final MessageProducer producer = producerSession.createProducer(producerDestination);
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
Universidad de las Américas
Ingeniería de Software
Integración de Sistemas
3. Crear la cadena de mensaje "Hello from Amazon MQ!" y, a
continuación, envíe el mensaje.
// Create a message.
final String text = "Hello from Amazon MQ!";
TextMessage producerMessage = producerSession.createTextMessage(text);

// Send the message.


producer.send(producerMessage);
System.out.println("Message sent.");

4. Eliminar al productor.
producer.close();
producerSession.close();
producerConnection.close();

Crear un consumidor de mensajes y recibir el mensaje

1. Crear una fábrica de conexiones JMS para el productor de mensajes a través del punto
de enlace de su agente y, a continuación, ejecute el método createConnection contra la
fábrica.

// Create a connection factory.


final ActiveMQConnectionFactory connectionFactory = new
ActiveMQConnectionFactory(wireLevelEndpoint);

// Pass the username and password.


connectionFactory.setUserName(activeMqUsername);
connectionFactory.setPassword(activeMqPassword);

// Establish a connection for the consumer.


final Connection consumerConnection = connectionFactory.createConnection();
consumerConnection.start();
2. Crear una sesión, una cola con el nombre MyQueue y un consumidor de mensajes.
// Create a session.
final Session consumerSession = consumerConnection.createSession(false,
Session.AUTO_ACKNOWLEDGE);

// Create a queue named "MyQueue".


final Destination consumerDestination = consumerSession.createQueue("MyQueue");

// Create a message consumer from the session to the queue.


final MessageConsumer consumer = consumerSession.createConsumer(consumerDestination);
3. Esperar los mensajes y reciba el mensaje cuando llegue.
// Begin to wait for messages.
final Message consumerMessage = consumer.receive(1000);

// Receive the message when it arrives.


Universidad de las Américas
Ingeniería de Software
Integración de Sistemas
final TextMessage consumerTextMessage = (TextMessage)
consumerMessage;
System.out.println("Message received: " + consumerTextMessage.getText());

4. Cerrar el consumidor, la sesión y la conexión.

consumer.close();
consumerSession.close();
consumerConnection.close();

Referencias

Q. (2021, 22 agosto). Microsoft Message Queuing (MSMQ): control mejorado de colas

- Win32 apps. Microsoft Docs. Recuperado 18 de noviembre de 2021, de

https://docs.microsoft.com/es-es/windows/win32/win7appqual/microsoft-

message-queuing--msmq----improved-queue-handling

ActiveMQ. (s. f.). ACTIVEMQ. Recuperado 18 de noviembre de 2021, de

http://activemq.apache.org/

ActiveMQ: Definition & How it Works | Protocol Support Library | ExtraHop. (s. f.).

Apache Active Message Queuing (ActiveMQ). Recuperado 18 de noviembre de

2021, de https://www.extrahop.com/resources/protocols/activemq/

También podría gustarte