Desenvolvendo Beans Acionados por Mensagens

É possível desenvolver uma classe de implementação de bean para um bean acionado por mensagens conforme introduzido pela especificação do Enterprise JavaBeans. Um bean acionado por mensagens (MDB) é um consumidor de mensagens que implementa lógica de negócios e executa no servidor.

Antes de Iniciar

Determine o modelo de mensagem que deseja para o seu aplicativo quanto ao uso de tópicos, filas, produtores e consumidores, publicação ou subscrição, e assim por diante. É possível consultar o contrato do componente do bean acionado por mensagens que está descrito no Enterprise JavaBeans™ .

Sobre Esta Tarefa

Um bean acionado por mensagens (MDB) é um consumidor de mensagens de um provedor do Java™ Message Service (JMS). Um MDB é chamado na chegada de uma mensagem no destino ou terminal que o MDB atende. As instâncias do MDB são anônimas e, portanto, todas as instâncias são equivalentes quando não estão executando serviço em uma mensagem de cliente. O contêiner controla o ciclo de vida de instâncias de bean, que não mantêm nenhum estado visível ao cliente.

O exemplo a seguir é um bean acionado por mensagens básico:

@MessageDriven(activationConfig={
                @ActivationConfigProperty(propertyName="destination",     propertyValue="myDestination"),
                @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue")
})
public class MsgBean implements javax.jms.MessageListener {

  public void onMessage(javax.jms.Message msg) {

      String receivedMsg = ((TextMessage) msg).getText();
      System.out.println("Received message: " + receivedMsg);

   }

}
Como com outros tipos de enterprise bean, também é possível declarar metadados para beans acionados por mensagens no descritor de implementação, em vez de usar anotações, por exemplo:
<?xml version="1.0" encoding="UTF-8"?>

<ejb-jar id="EJBJar_1060639024453" version="3.0"
      xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
      metadata-complete="false">
  <enterprise-beans>

    <message-driven>

      <ejb-name>MsgBean</ejb-name>
      <ejb-class>com.acme.ejb.MsgBean</ejb-class>
      <activation-config>
         <activation-config-property>
            <activation-config-property-name>destination</activation-config-property-name>
            <activation-config-property-value>myDestination</activation-config-property-value>
         </activation-config-property>
         <activation-config-property>
           <activation-config-property-name>destinationType</activation-config-property-name>
           <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
        </activation-config-property>
      </activation-config>

    </message-driven>

  </enterprise-beans>
</ejb-jar>
Nota: No WebSphere Application Server versão 9, a propriedade destinationLookup também pode ser usada no lugar da propriedades de configuração de ativação destination. Ambas as propriedades de configuração de ativação serem ao mesmo propósito de configurar o nome JNDI de destino para MDBs. No entanto, quando ambas as propriedades de ativação forem definidas na configuração, a propriedade destinationLookup terá precedência sobre a propriedade destination.

Procedimento

Resultados

Você desenvolveu um bean acionado por mensagens simples, juntamente com algumas opções de implementação e compactação.

O que Fazer Depois

Consulte informações relacionadas sobre o projeto de um aplicativo corporativo que usa beans acionados por mensagens.

Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_mdb
Nome do arquivo: tejb_mdb.html