DeleteViaQMDBean.ejb Sample

This topic inludes the source code for the DeleteViaQMDBean.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.Collection;
04 import java.util.Iterator;
05 import javax.ejb.*;
06 import javax.jms.*;
07 import javax.naming.InitialContext;
08 import javax.naming.NamingException;
09 import weblogic.ejb.*;
10 
11 /**
12  * This Message-Driven Bean listens to the queue jms/SamplesAppMDBQ
13  * for messages with the message selector "Command = 'Delete'", and creates
14  * all tokens, using the entity bean SimpleTokenBean.
15  
16  * @ejbgen:message-driven default-transaction="NotSupported" 
17  *   message-selector="Command = 'Delete'" 
18  *   ejb-name = DeleteViaQMD
19  *   destination-jndi-name = jms/SamplesAppMDBQ
20  *   destination-type = javax.jms.Queue
21  *
22  *  @ejbgen:ejb-local-ref link="SimpleToken_M"
23  */
24 public class DeleteViaQMDBean
25   extends GenericMessageDrivenBean
26   implements MessageDrivenBean, MessageListener
27 {
28   private SimpleTokenHome_M tokenHome;
29   
30   public void ejbCreate() {
31      try {
32         javax.naming.Context ic = new InitialContext();
33         tokenHome = (SimpleTokenHome_M)ic.lookup("java:/comp/env/ejb/SimpleToken_M")
34      }
35      catch(NamingException ne) {
36         System.out.println("Encountered the following naming exception: " + ne.getMessage());        
37      }
38   }
39 
40   public void onMessage(Message msg) {
41      try {
42         Iterator allIter = tokenHome.findAll().iterator();
43         while(allIter.hasNext()) {
44             ((SimpleToken_MallIter.next()).remove();
45         }
46      }
47      catch(Exception e) {
48         System.out.println("Encountered the following exception: " + e.getMessage());
49      }
50   }
51 }
52