KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > testSendMessage1InSB_TestingSessionBean


1 package test;
2
3 import java.util.logging.Level JavaDoc;
4 import java.util.logging.Logger JavaDoc;
5 import javax.ejb.*;
6 import javax.jms.Connection JavaDoc;
7 import javax.jms.ConnectionFactory JavaDoc;
8 import javax.jms.Destination JavaDoc;
9 import javax.jms.JMSException JavaDoc;
10 import javax.jms.Message JavaDoc;
11 import javax.jms.MessageProducer JavaDoc;
12 import javax.jms.Session JavaDoc;
13 import javax.naming.Context JavaDoc;
14 import javax.naming.InitialContext JavaDoc;
15 import javax.naming.NamingException JavaDoc;
16 import javax.rmi.PortableRemoteObject JavaDoc;
17
18 /**
19  * This is the bean class for the TestingSessionBean enterprise bean.
20  * Created 29.4.2005 15:24:25
21  * @author lm97939
22  */

23 public class TestingSessionBean implements SessionBean, TestingSessionRemoteBusiness, TestingSessionLocalBusiness {
24     private SessionContext context;
25     
26     // <editor-fold defaultstate="collapsed" desc="EJB infrastructure methods. Click the + sign on the left to edit the code.">
27
// TODO Add code to acquire and use other enterprise resources (DataSource, JMS, enterprise bean, Web services)
28
// TODO Add business methods or web service operations
29
/**
30      * @see javax.ejb.SessionBean#setSessionContext(javax.ejb.SessionContext)
31      */

32     public void setSessionContext(SessionContext aContext) {
33         context = aContext;
34     }
35     
36     /**
37      * @see javax.ejb.SessionBean#ejbActivate()
38      */

39     public void ejbActivate() {
40         
41     }
42     
43     /**
44      * @see javax.ejb.SessionBean#ejbPassivate()
45      */

46     public void ejbPassivate() {
47         
48     }
49     
50     /**
51      * @see javax.ejb.SessionBean#ejbRemove()
52      */

53     public void ejbRemove() {
54         
55     }
56     // </editor-fold>
57

58     /**
59      * See section 7.10.3 of the EJB 2.0 specification
60      * See section 7.11.3 of the EJB 2.1 specification
61      */

62     public void ejbCreate() {
63         // TODO implement ejbCreate if necessary, acquire resources
64
// This method has access to the JNDI context so resource aquisition
65
// spanning all methods can be performed here such as home interfaces
66
// and data sources.
67
}
68     
69     
70     
71     // Add business logic below. (Right-click in editor and choose
72
// "EJB Methods > Add Business Method" or "Web Service > Add Operation")
73

74     public String JavaDoc testBusinessMethod1() {
75         //TODO implement testBusinessMethod1
76
return null;
77     }
78
79     public String JavaDoc testBusinessMethod2(String JavaDoc a, int b) throws Exception JavaDoc {
80         //TODO implement testBusinessMethod2
81
return null;
82     }
83
84     private TestingEntityLocalHome lookupTestingEntityBean() {
85         try {
86             Context JavaDoc c = new InitialContext JavaDoc();
87             TestingEntityLocalHome rv = (TestingEntityLocalHome) c.lookup("java:comp/env/ejb/TestingEntityBean");
88             return rv;
89         }
90         catch(NamingException JavaDoc ne) {
91             Logger.getLogger(getClass().getName()).log(Level.SEVERE,"exception caught" ,ne);
92             throw new RuntimeException JavaDoc(ne);
93         }
94     }
95
96     private TestingEntityRemoteHome lookupMyTestingEntityBean() {
97         try {
98             Context JavaDoc c = new InitialContext JavaDoc();
99             Object JavaDoc remote = c.lookup("java:comp/env/ejb/MyTestingEntityBean");
100             TestingEntityRemoteHome rv = (TestingEntityRemoteHome) PortableRemoteObject.narrow(remote, TestingEntityRemoteHome.class);
101             return rv;
102         }
103         catch(NamingException JavaDoc ne) {
104             Logger.getLogger(getClass().getName()).log(Level.SEVERE,"exception caught" ,ne);
105             throw new RuntimeException JavaDoc(ne);
106         }
107     }
108
109     private Message JavaDoc createJMSMessageForTestingMessageDestination(Session JavaDoc session, Object JavaDoc messageData) throws JMSException JavaDoc {
110         // TODO create and populate message to send
111
// javax.jms.TextMessage tm = session.createTextMessage();
112
// tm.setText(messageData.toString());
113
// return tm;
114
}
115
116     private void sendJMSMessageToTestingMessageDestination(Object JavaDoc messageData) throws NamingException JavaDoc, JMSException JavaDoc {
117         Context JavaDoc c = new InitialContext JavaDoc();
118         ConnectionFactory JavaDoc cf = (ConnectionFactory JavaDoc) c.lookup("java:comp/env/jms/TestingMessageDestinationFactory");
119         Connection JavaDoc conn = null;
120         Session JavaDoc s = null;
121         try {
122             conn = cf.createConnection();
123             s = conn.createSession(false,s.AUTO_ACKNOWLEDGE);
124             Destination JavaDoc destination = (Destination JavaDoc) c.lookup("java:comp/env/jms/TestingMessageDestination");
125             MessageProducer JavaDoc mp = s.createProducer(destination);
126             mp.send(createJMSMessageForTestingMessageDestination(s,messageData));
127         } finally {
128             if (s != null) {
129                 s.close();
130             }
131             if (conn != null) {
132                 conn.close();
133             }
134         }
135     }
136     
137     
138     
139 }
140
Popular Tags