JMS (2)

5. XMLMessage en Pub/sub . WebLogic icorpora como extensión la clase XMLMessage para el manejo de mensajes XML. En el fondo, esta es una clase de TextMessage con lo cual el envío y recepción de mensajes se realizan a través de setText() y getText() respectivamente.

El fichero xml.tgz contiene el package examples.jms.xml en el que hemos desarrollado un cliente, codificado en el fichero ClientSend.java que pide datos al usuario para construir un fichero XML con el siguiente formato:

<order>
   <item>
     <id> CD-100 </id>
     <name> Making Movies </name>
     <price> 12 Euro </price>
   </item>
   <item>
     <id> CD-120 </id>
     <name> Tubular Bells </name>
     <price> 20 Euro </price>
   </item>
   ...
</order>

Una vez construido el XMLMessage, lo envía a una cola (mecanismo PTP). El cliente ClientReceive.java lo recoge de la cola y llama al parser XML implementado RequestHandler.java, código que acaba extrayendo el contenido del mensaje XML en un objeto de la clase Item.java que se muestra como salida del cliente.

En este ejercicio se pide:

a) Permitir que un item del mensaje XML contenga un campo <description> ... <description>. Esto implica modificar el cliente que construye el mensaje y el cliente que lo recibe (incluído el parser), así como la clase que almacena items.

b) Modificar el mecanismo PTP para que sea Pub/sub en modo asíncrono.

Los nuevos programas que formarán parte del package examples.jms.xml se llamarán: ClientSend2.java, ClientReceive2.java y RequestHandler2.java y se entregarán en el zip Ejercicio5.java

6. Ejemplo de Servlet. Probar el ejemplo examples.jms.sender.SenderServlet que muestra como enviar mensajes desde un servlet a clientes PTP o Pub/Sub. Para ello hay que interaccionar con los ejemplos de WebLogic: examples.jms.queue.QueueReceive y examples.jms.topic.TopicReceive.