1 25 package org.objectweb.easybeans.tests.common.ejbs.mdb.beanmanaged.access; 26 27 import static org.objectweb.easybeans.tests.common.ejbs.entity.callbacklogger.CallbackType.ON_MESSAGE; 28 import static org.objectweb.easybeans.tests.common.ejbs.entity.callbacklogger.OperationType.USER_TRANSACTION; 29 import static org.objectweb.easybeans.tests.common.ejbs.entity.callbacklogger.OperationType.isEqual; 30 import static org.objectweb.easybeans.tests.common.resources.UserTransactionTester.checkInstance; 31 32 import javax.annotation.Resource; 33 import javax.ejb.ActivationConfigProperty ; 34 import javax.ejb.MessageDriven ; 35 import javax.ejb.TransactionManagement ; 36 import javax.ejb.TransactionManagementType ; 37 import javax.jms.JMSException ; 38 import javax.jms.Message ; 39 import javax.jms.MessageListener ; 40 import javax.transaction.UserTransaction ; 41 42 import org.objectweb.easybeans.log.JLog; 43 import org.objectweb.easybeans.log.JLogFactory; 44 import org.objectweb.easybeans.tests.common.ejbs.stateless.containermanaged.callbacklogger.BaseInsertOperation; 45 import org.objectweb.easybeans.tests.common.jms.JMSManager; 46 import org.objectweb.easybeans.tests.common.jms.MessageProperty; 47 48 53 @MessageDriven (messageListenerInterface = MessageListener .class, activationConfig = { 54 @ActivationConfigProperty (propertyName = "destinationType", propertyValue = "javax.jms.Queue"), 55 @ActivationConfigProperty (propertyName = "destination", propertyValue = JMSManager.DEFAULT_QUEUE), 56 @ActivationConfigProperty (propertyName = "messageSelector", propertyValue = 57 "TYPE ='org.objectweb.easybeans.tests.common.ejbs.mdb.containermanaged.access.MDBBeanManagedListenerMethodAccess'")}) 58 @TransactionManagement (TransactionManagementType.BEAN) 59 public class MDBBeanManagedListenerMethodAccess extends BaseInsertOperation { 60 61 64 private JLog logger = JLogFactory.getLog(MDBBeanManagedListenerMethodAccess.class); 65 66 69 public static final String MESSAGE_TYPE = "org.objectweb.easybeans.tests.common.ejbs." 70 + "mdb.containermanaged.access.MDBBeanManagedListenerMethodAccess"; 71 72 75 private static final long serialVersionUID = 4108218174206348937L; 76 77 80 @Resource 81 private UserTransaction utx; 82 83 88 public void onMessage(final Message message) { 89 String op = null; 90 91 try { 92 op = message.getStringProperty(MessageProperty.OPERATION.toString()); 93 } catch (JMSException e) { 94 logger.debug("Error getting operation type: {0}", e); 95 } 96 97 if (isEqual(USER_TRANSACTION, op)) { 98 if (utx != null) { 99 100 try { 101 checkInstance(utx); 102 103 log(MDBBeanManagedListenerMethodAccess.class, ON_MESSAGE, MDBBeanManagedListenerMethodAccess.class, 104 USER_TRANSACTION); 105 } catch (Exception e) { 106 e.printStackTrace(); 107 } 108 } 109 } 110 111 } 112 113 } 114 | Popular Tags |