AddViaTopicMDBean.ejb Sample
This topic inludes the source code for the AddViaTopicMDBean.ejb Sample.
Sample Location
This sample is located in the following directory in your WebLogic Workshop installation:
BEA_HOME/weblogic81/samples/workshop/SamplesApp/EJBs/messageDriven/
Sample Source Code
01 package messageDriven;
02
03 import java.util.Date;
04 import javax.ejb.*;
05 import javax.jms.*;
06 import javax.naming.InitialContext;
07 import javax.naming.NamingException;
08 import weblogic.ejb.*;
09
10 /**
11 * This Message-Driven Bean listens to the topic jms/SamplesAppMDBTopic
12 * and creates a new token, using the entity bean SimpleTokenBean.
13
14 * @ejbgen:message-driven default-transaction="NotSupported" max-beans-in-free-pool="2"
15 * ejb-name = AddViaTopicMD
16 * destination-jndi-name = jms/SamplesAppMDBTopic
17 * destination-type="javax.jms.Topic"
18 *
19 * @ejbgen:ejb-local-ref link="SimpleToken_M"
20 */
21 public class AddViaTopicMDBean
22 extends GenericMessageDrivenBean
23 implements MessageDrivenBean, MessageListener
24 {
25 private SimpleTokenHome_M tokenHome;
26 private String MDBname;
27 private int objectHash;
28
29 public void ejbCreate() {
30 MDBname = this.getClass().getName();
31 objectHash = this.hashCode();
32 try {
33 javax.naming.Context ic = new InitialContext();
34 tokenHome = (SimpleTokenHome_M)ic.lookup("java:/comp/env/ejb/SimpleToken_M");
35 }
36 catch(NamingException ne) {
37 System.out.println("Encountered the following naming exception: " + ne.getMessage());
38 }
39 }
40
41 public void onMessage(Message msg) {
42 try {
43 TextMessage aMsg = (TextMessage)msg;
44 int tokenName = Integer.parseInt(aMsg.getText());
45 tokenHome.create(tokenName,(new Date(System.currentTimeMillis()).toLocaleString()),MDBname, objectHash);
46 Thread.sleep(1000);
47 }
48 catch(Exception e) {
49 System.out.println("Encountered the following exception: " + e.getMessage());
50 }
51 }
52 }
53
|