Cómo poner un mensaje en la cola JMS

by admin

Java servicio de mensajería, o JMS, es una tecnología estándar para el envío y recepción de mensajes entre aplicaciones. Esta articulación flexible hace que sea más fácil cambiar las aplicaciones de forma independiente para satisfacer las necesidades nuevas o cambiantes. Típicamente Java del servidor de página, JSP, los desarrolladores no interactúan con las tecnologías empresariales como JMS. Sin embargo, puede haber una necesidad de activar una acción sin tener que esperar a que se complete de manera que los usuarios obtienen una retroalimentación más inmediato. Es posible aprovechar JMS de JSP usando una variedad de técnicas como la etiqueta personalizada o un servlet.

Instrucciones

1 Configurar una fábrica de conexiones JMS. Estas instrucciones específicas para estos pasos varía según el servidor de aplicaciones. Consulte las instrucciones del servidor de aplicaciones para la aplicación seleccionada detalles de configuración. La fábrica de conexiones será utilizada por el cliente JSP para crear una conexión a un proveedor. La fábrica de conexiones abstrae la información de configuración de conexión. La creación de una fábrica de conexiones implica radicalmente diferentes pasos en cada servidor de aplicaciones.

2 Configurar una cola JMS. Una cola se utiliza para la comunicación punto a punto entre las aplicaciones JMS. Al igual que la configuración de la fábrica de conexiones JMS, la creación de una cola varía según el servidor de aplicaciones. Los pasos específicos necesarios deben estar disponibles en la documentación del servidor de aplicaciones.

3 Confirman la cola y la fábrica de conexiones se configuran utilizando los comandos de administración del servidor de aplicaciones.

4 Crear nuevo nombre de servlet "sendMessage" en el entorno de desarrollo. Este servlet contiene la lógica para enviar el mensaje recibido desde la interfaz JSP a la cola JMS configurada

com.mycompany.samples paquete;

import java.io. *;

javax.jms de importación. *;

importar javax.naming. *;

importar javax.servlet. *;

importar javax.servlet.http. *;

clase pública se extiende sendMessage HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType (& quot; text / html; charset = UTF-8 & quot;);

PrintWriter cabo response.getWriter = ();

tratar{

Contexto ctx = new InitialContext ();

ConnectionFactory ConnectionFactory = (ConnectionFactory) ctx.lookup (& quot; el nombre de fábrica & quot;);

cola de la cola = (cola) ctx.lookup (& quot; el nombre de la cola & quot;);

conexión javax.jms.Connection = connectionFactory.createConnection ();

javax.jms.Session sesión = connection.createSession (falso, Session.AUTO_ACKNOWLEDGE);

MessageProducer MessageProducer = session.createProducer (cola);

TextMessage mensaje = session.createTextMessage ();

message.setText (request.getParameter (& quot; mensaje & quot;));

messageProducer.send (mensaje);

out.println (& quot; & quot;);

out.println (& quot; & quot;);

out.println (& quot; & quot;);

out.println (& quot; & quot;);

out.println (& quot; & quot;);

out.println (& quot;

"); Out.print (" mensaje "+ request.getParameter (" mensaje ") +" enviado a la cola "+ queue.getQueueName () +" "); out.println (".

");

out.println("");

out.println (& quot; & quot;);

} Catch (Exception ex) {

ex.printStackTrace ();

}

out.close ();

}

protegida doGet vacío (HttpServletRequest solicitud, HttpServletResponse respuesta)

lanza ServletException, IOException {

processRequest (petición y respuesta);

}

protegida doPost vacío (HttpServletRequest solicitud, HttpServletResponse respuesta)

lanza ServletException, IOException {

processRequest (petición y respuesta);

}

}

5 Crear una página JSP en el entorno de desarrollo para enviar el mensaje a la cola JMS utilizando el servlet. Introduce el siguiente código en la página JSP:

<Title> Enviar mensaje para JMS-Cola </ title>

&lt; form action=&quot;sendMessage&quot;>

& Lt; tabla de espaciado de celda = & quot; 20 & quot; >

& Lt; tbody>

& Lt; tr>

& Lt; td> Mensaje: & lt; / Td>

& Lt; td> & lt; input type = & quot; texto & quot; name = & quot; mensaje & quot; valor = & quot; & quot; width = & quot; 30 & quot; /> & Lt; / Td>

& Lt; / Tr>

& Lt; / Tbody>

& Lt; / Table>

& Lt; input type = & quot; enviar & quot; valor = & quot; enviar el mensaje & quot; name = & quot; enviar & quot; />

& Lt; / Form>

ETIQUETA: