1 25 26 package org.objectweb.jonas.jtests.beans.secured; 27 28 import javax.ejb.CreateException ; 29 import javax.ejb.EJBException ; 30 import javax.ejb.MessageDrivenBean ; 31 import javax.ejb.MessageDrivenContext ; 32 import javax.jms.Message ; 33 import javax.jms.MessageListener ; 34 import javax.jms.QueueConnectionFactory ; 35 import javax.jms.Queue ; 36 import javax.jms.QueueConnection ; 37 import javax.jms.QueueSession ; 38 import javax.jms.QueueSender ; 39 import javax.jms.Session ; 40 import javax.naming.InitialContext ; 41 import javax.naming.NamingException ; 42 import javax.rmi.PortableRemoteObject ; 43 44 import org.objectweb.jonas.common.Log; 45 import org.objectweb.util.monolog.api.Logger; 46 import org.objectweb.util.monolog.api.BasicLevel; 47 48 53 public class Listener implements MessageDrivenBean , MessageListener { 54 55 58 private static Logger logger = null; 59 60 63 private transient MessageDrivenContext mdbContext; 64 65 68 private transient DerivedLocalHome dh = null; 69 70 71 74 public Listener() { 75 } 76 77 81 90 91 public void setMessageDrivenContext(MessageDrivenContext ctx) { 92 if (logger == null) { 93 logger = Log.getLogger(Log.JONAS_TESTS_PREFIX); 94 } 95 logger.log(BasicLevel.DEBUG, ""); 96 mdbContext = ctx; 97 } 98 99 106 public void ejbRemove() { 107 logger.log(BasicLevel.DEBUG, ""); 108 } 109 110 113 public void ejbCreate() { 114 logger.log(BasicLevel.DEBUG, ""); 115 } 116 117 121 public void onMessage(Message message) { 122 logger.log(BasicLevel.DEBUG, ""); 123 124 String messageTest = "ok"; 125 126 try { 127 try { 129 InitialContext ictx = new InitialContext (); 130 dh = (DerivedLocalHome) ictx.lookup("java:comp/env/ejb/derivednorunaslocal"); 131 } catch (NamingException e) { 132 logger.log(BasicLevel.ERROR, "Listener : Cannot get DerivedHome:" + e); 133 messageTest = "fail : Cannot get DerivedHome: " + e; 134 } 135 136 try { 138 dh.create(); 139 } catch (EJBException ejbe) { 140 messageTest = "fail : EJBException : " + ejbe.getMessage(); 141 logger.log(BasicLevel.ERROR, "EJBException: " + ejbe.getMessage()); 142 } catch (CreateException e) { 143 messageTest = "fail : Can not create the bean"; 144 logger.log(BasicLevel.ERROR, "Listener exception: " + e); 145 } 146 } catch (Exception ee) { 147 logger.log(BasicLevel.ERROR, "exception: " + ee); 148 messageTest = "fail :" + ee.getMessage(); 149 } 150 151 QueueConnectionFactory qcf = null; 152 Queue queue = null; 153 try { 154 try { 156 InitialContext ictx = new InitialContext (); 157 qcf = (QueueConnectionFactory ) ictx.lookup("java:comp/env/jms/RunAsFactory"); 158 queue = (Queue ) ictx.lookup("java:comp/env/jms/testRunAs"); 159 } catch (NamingException e) { 160 logger.log(BasicLevel.ERROR, "Listener : Cannot get DerivedHome:" + e); 161 } 162 163 164 QueueConnection qc = qcf.createQueueConnection(); 165 QueueSession qs = qc.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); 166 Message m = qs.createMessage(); 167 m.setStringProperty("testRunAsJms", messageTest); 168 QueueSender qsender = qs.createSender(queue); 169 qsender.send(m); 170 171 qsender.close(); 173 qs.close(); 174 qc.close(); 175 } catch (Exception e) { 176 logger.log(BasicLevel.ERROR, "exception:" + e); 177 } 178 } 179 } 180 | Popular Tags |