- Session Beans
- Entity Beans
- Singleton
- MDB
Normalmente dentro de las aplicaciones existen tipos de procesos que necesitamos trabajarlos desacoplados del proceso de negocio principal, como puede ser una integracion, este es el escenario ideal para usar este tipo de beans. Para poder hacerlo se hace necesario el uso de un broker de mensajeria que para este caso es ActiveMQ, tenemos que seguir los siguientes pasos:
1 Descargar en activemq-rar-5.6.0.rar.
Se descarga el activemq-rar-5.6.0.rar
y se lo coloca en la siguiente dirección WILDFLY_HOME\standalone\deployments
2 Configuración para el activeMQ
Se edita el archivo standalone.xml
que se encuentra en la dirección WILDFLY_HOME\standalone\configuration, se coloca el adaptador para el
activeMQ en la sección <subsystem
xmlns="urn:jboss:domain:resource-adapters:2.0">, se añade el código que se encuentra
en la parte de abajo, donde hace referencia al archivo que colocamos en
la carpeta deployments, la dirección, puerto, conexiones, etc.
<resource-adapters>
<resource-adapter
id="activemq">
<archive>
activemq-rar-5.6.0.rar
</archive>
<transaction-support>XATransaction</transaction-support>
<config-property
name="UseInboundSession">
false
</config-property>
<config-property
name="Password">
defaultPassword
</config-property>
<config-property
name="UserName">
defaultUser
</config-property>
<config-property
name="ServerUrl">
tcp://localhost:61616
</config-property>
<connection-definitions>
<connection-definition
class-name="org.apache.activemq.ra.ActiveMQManagedConnectionFactory"
jndi-name="java:/ConnectionFactory" enabled="true"
pool-name="ConnectionFactory">
<xa-pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>false</prefill>
<is-same-rm-override>false</is-same-rm-override>
</xa-pool>
</connection-definition>
</connection-definitions>
<admin-objects>
<admin-object
class-name="org.apache.activemq.command.ActiveMQQueue"
jndi-name="java:jboss/reinsurance.state.in"
use-java-context="true" pool-name="TandiESBQueue">
<config-property
name="PhysicalName">
TandiESBQueue
</config-property>
</admin-object>
</admin-objects>
</resource-adapter>
</resource-adapters>
3 Añadir la configuración para soportar MDB
Para poder usar los MDB se debe
editar el archivo standalone.xml en la sección <subsystem xmlns="urn:jboss:domain:ejb3:2.0">
donde va el siguiente código.
<mdb>
<resource-adapter-ref
resource-adapter-name="activemq"/>
<bean-instance-pool-ref
pool-name="mdb-strict-max-pool"/>
</mdb>
4 Se crea un MDB
El propertyValue
=”reinsurance.state.in” del propertyName=”destination” es el nombre de cola a
consumir en el método onMessage.