Java Message Service

  • [[#1.1 JMS 1.1]]
  • [[#1.1ex Ejemplos]]
  • [[#2 JMS 2.0]]
  • [[#2ex Ejemplos]]
  • [[#ref Referencia]]

#

Released in 2002… TODO

#

’'’Enviar un mensaje de texto’’’ #!highlight java public void sendMessageJMS11(ConnectionFactory connectionFactory, Queue queueString) try Connection connection try Session session MessageProducer messageProducer TextMessage textMessage messageProducer.send(textMessage); } finally connection.close(); } } catch () // handle exception ] } }}}

#

Liberada en Abril 2013, esta actualización hace énfasis en facilidad de uso con la introducción de una nueva API para enviar y recibir mensajes que reduce la cantidad de código que debe escribir un desarrollador. En aplicaciones corriendo en contenedores JavaEE la nueva API soporta inyección de recursos, que permite al contenedor JavaEE tomar control de la creación y administración de objetos JMS.

JMS 2.0 es parte de JavaEE 7 y puede usarse en JavaEE o aplicaciones EJB o también puede usarse en ambientes independientes JavaSE.

#

Consiste de tres interfaces ‘‘JMSContext, JMSProducer y JMSCOsumer’’:

  • '’JMSContext’’ reemplaza los objetos ‘‘Connection’’ y ‘‘Session’’ de la versión 1.1 con un solo objeto.
  • '’JMSProducer’’ es un reemplazo ligero para el objeto ‘‘MessageProducer’’ de 1.1. Permite configurar opciones de entrega, encabezados y propiedades del mensaje usando ‘'’method chaining (build pattern)’’’.
  • '’JMSConsumer’’ reemplaza el objecto ‘‘MessageConsumer’’ de 1.1.
  • Todas las interfaces que implementan un metodo ‘‘close’’ implementan también ‘‘java.lang.AutoCloseable’’ (JavaSE 7)
  • En JMS 2.0 las sessiones son ‘'’No-Transaccionales’’’ y cualquier mensaje recibido se reconoce por default.
  • Una característica del API simplificada es que los métodos no declaran excepciones checadas (TODO), JMSRuntimeException es lanzada si se encuentran condiciones de error, esta nueva excepción no necesita ser atrapada o lanzada específicamente por el método que hace la llamada-

#

’'’Enviar un mensaje de texto’’’ #!highlight java public void sendMessageJMS20(ConnectionFactory connectionFactory, Queue queue, String text) try (JMSContext context context.createProducer().send(queue, text); } catch (JMSRuntimeException ex) // handle exception } }}}

Referencia


CategoryProgramacion