вторник, 2 июня 2009 г.

Пример простейшего MDB-компонента

Ниже пример MDB-компонента который слушает очередь (в этом примере jms/TestQueue) и выводит содержимое сообщения в лог-сервера:
 import javax.ejb.ActivationConfigProperty;  
 import javax.ejb.EJBException;  
 import javax.ejb.MessageDriven;  
 import javax.jms.Message;  
 import javax.jms.MessageListener;  
 import javax.jms.TextMessage;  
 @MessageDriven(  
 activationConfig = {  
 @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue") ,  
 @ActivationConfigProperty(propertyName="connectionFactoryJndiName",propertyValue="jms/JMSConnectionFactory"),  
 @ActivationConfigProperty(propertyName="destinationJndiName", propertyValue="jms/TestQueue")  
 }  
 ,mappedName="jms/TestQueue"  
 )  
 public class TestMDBBean implements MessageListener {  
   public void onMessage(Message message) {  
     try {  
       if (message instanceof TextMessage) {  
         TextMessage msg = (TextMessage)message;  
         System.out.println("Message arrived:");  
         System.out.println(msg.getText());  
         System.out.println("\n");  
       }  
     } catch (Exception e) {  
       throw new EJBException(e.toString());  
     }  
   }  
 }