KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > ejb3 > test > dd > mdb > BMPBean


1 /*
2   * JBoss, Home of Professional Open Source
3   * Copyright 2005, JBoss Inc., and individual contributors as indicated
4   * by the @authors tag. See the copyright.txt in the distribution for a
5   * full listing of individual contributors.
6   *
7   * This is free software; you can redistribute it and/or modify it
8   * under the terms of the GNU Lesser General Public License as
9   * published by the Free Software Foundation; either version 2.1 of
10   * the License, or (at your option) any later version.
11   *
12   * This software is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15   * Lesser General Public License for more details.
16   *
17   * You should have received a copy of the GNU Lesser General Public
18   * License along with this software; if not, write to the Free
19   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21   */

22 package org.jboss.ejb3.test.dd.mdb;
23
24 import javax.annotation.Resource;
25 import javax.ejb.MessageDrivenBean JavaDoc;
26 import javax.ejb.MessageDrivenContext JavaDoc;
27 import javax.ejb.EJBException JavaDoc;
28
29 import javax.jms.JMSException JavaDoc;
30 import javax.jms.MessageListener JavaDoc;
31 import javax.jms.Message JavaDoc;
32 import javax.naming.InitialContext JavaDoc;
33 import javax.transaction.Status JavaDoc;
34 import javax.transaction.Transaction JavaDoc;
35 import javax.transaction.TransactionManager JavaDoc;
36 import javax.transaction.xa.XAResource JavaDoc;
37
38 public class BMPBean implements MessageDrivenBean JavaDoc, MessageListener JavaDoc{
39    org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(getClass());
40    
41     private MessageDrivenContext JavaDoc ctx = null;
42     public BMPBean() {
43     
44     }
45     
46     @Resource
47     public void setMessageDrivenContext(MessageDrivenContext JavaDoc ctx) throws EJBException JavaDoc
48     {
49        this.ctx = ctx;
50     }
51     
52     public void ejbCreate() {}
53
54     public void ejbRemove() {ctx=null;}
55
56     public void onMessage(Message JavaDoc message)
57     {
58         log.debug("DEBUG: BMPBean got message" + message.toString() );
59       
60       try
61       {
62          TestStatusBean.addDestination(message.getJMSDestination());
63          TransactionManager JavaDoc tm = (TransactionManager JavaDoc)new InitialContext JavaDoc().lookup("java:/TransactionManager");
64           Transaction JavaDoc threadTx = tm.suspend();
65             log.debug("DEBUG Tx="+threadTx);
66
67             log.debug("Sleeping for 10 seconds");
68             try
69          {
70             Thread.currentThread().sleep(1000*10);
71          }
72          catch ( InterruptedException JavaDoc e )
73          {
74          }
75          log.debug("Sleep done");
76
77             if( threadTx != null ) tm.resume(threadTx);
78       }
79       catch (Exception JavaDoc e)
80       {
81           log.debug("BMPBean Error:"+e);
82       }
83     }
84 }
85
86
87
Popular Tags