KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jfox > ejb > MDBSession


1 /* JFox, the OpenSource J2EE Application Server
2  *
3  * Distributable under GNU LGPL license by gun.org
4  * more details please visit http://www.huihoo.org/jfox
5  */

6
7 package org.jfox.ejb;
8
9 import javax.ejb.EJBException JavaDoc;
10 import javax.ejb.MessageDrivenBean JavaDoc;
11 import javax.jms.JMSException JavaDoc;
12 import javax.jms.MessageListener JavaDoc;
13
14 import org.jfox.jms.JMSConnection;
15 import org.jfox.jms.JMSConsumer;
16 import org.jfox.jms.JMSSession;
17 import org.jfox.jms.message.JMSMessage;
18
19 /**
20  * @author <a HREF="mailto:young_yy@hotmail.com">Young Yang</a>
21  */

22
23 public class MDBSession extends JMSSession {
24     public MDBSession(JMSConnection conn, boolean transacted, int acknowledgeMode, boolean isXA) {
25         super(conn, transacted, acknowledgeMode, isXA);
26     }
27
28     /**
29      * 不用再新起线程监听消息
30      */

31     protected void start() {
32
33     }
34
35     public void run() {
36 // super.run();
37
}
38
39     protected String JavaDoc getSessionId() {
40         return super.getSessionId();
41     }
42
43     /**
44      * MDB 不使用该onMessage,因为 MDB 实例已经取得
45      *
46      * @param consumerId
47      * @param message
48      */

49     protected void onMessage(String JavaDoc consumerId, JMSMessage message) {
50         throw new EJBException JavaDoc("invalid onMessage call in MessageDrivenBean.");
51     }
52
53     /**
54      * @param bean 用来执行消息的MDB,从 InstancePoolHandler 取得
55      * @param message
56      */

57     protected void onMessage(MessageDrivenBean JavaDoc bean, JMSMessage message) {
58         if(!(bean instanceof MessageListener JavaDoc)) {
59             throw new EJBException JavaDoc("MessageDrivenBean " + bean + " not implements " + MessageListener JavaDoc.class.getName());
60         }
61         ((MessageListener JavaDoc) bean).onMessage(message);
62     }
63
64     public void acknowledge(JMSConsumer consumer, JMSMessage message) throws JMSException JavaDoc {
65         super.acknowledge(consumer, message);
66     }
67
68     protected synchronized void setConsumerAsync(JMSConsumer consumer, boolean async) throws JMSException JavaDoc {
69         super.setConsumerAsync(consumer, async);
70     }
71
72 }
73
74
Popular Tags