Según define la estructura para EJB's el "Deployment Descriptor" debe estar colocado bajo un directorio llamado META-INF
..
Deployment Descriptor ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'> <ejb-jar> <enterprise-beans> <message-driven> <ejb-name>BancaDeInversion</ejb-name> <ejb-class>com.osmosislatina.ejb.bolsa.BancaDeInversion </ejb-class> <message-selector></message-selector> <transaction-type>Container</transaction-type> <message-driven-destination> <destination-type>javax.jms.Topic</destination-type> <subscription-durability>NonDurable</subscription-durability> </message-driven-destination> </message-driven> </enterprise-beans> <assembly-descriptor> <container-transaction> <method> <ejb-name>BancaDeInversion</ejb-name> <method-name>*</method-name> </method> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor> </ejb-jar> |
Esta primer sección del Deployment Descriptor asigna un nombre al "Messaging Bean" (
BancaDeInversion
) y define la clase que lo compone; los parámetros exclusivos de un "Messaging EJB" se mencionan a continuación.<message-selector></message-selector>
representa una manera de filtrar mensajes antes de ser recibidos por el "Messaging EJB", esto le permite al EJB procesar mensajes sobre los que tiene interés; para este EJB permanece en blanco, todo mensaje será recibido.<destination-type>javax.jms.Topic</destination-type>
indica que el "EJB" será utilizado como Topic, por ende en la modalidad "Point-to-Point", otra alternativa seriajavax.jms.topic
("Publish-Subscribe");NOTA: El Topic del EJB debe estar asociado con un nombre, el cual es definido de acuerdo al "Application Server"/EJB Container, en la siguiente sección se define este parámetro.El parámetro
NonDurable
le indica al EJB que no debe perdurar el mensaje para ser consumido por un subscriptor de este topic; la alternativaDurable
obliga al EJB a perdurar el mensaje.Finalmente se define la sección
<assembly-descriptor>
que define el tipo de transacciones para el EJB.