Interstage Application Server J2EE ユーザーズガイド
|
目次
索引
|
21.2.8.2 グローバルトランザクションを使用したSubscriberの作成
[グローバルトランザクションのSubscriber]
public class SubscriberS {
public static void main() {
...
try {
InitialContext initialContext = new InitialContext(); /* 1 */
TopicConnectionFactory topicConnectionFactory = (TopicConnectionFactory)
initialContext.lookup("java:comp/env/jms/TopicConnectionFactory"); /* 2 */
Topic topic = (Topic)initialContext.lookup("java:comp/env/jms/Topic"); /* 3 */
javax.transaction.UserTransaction ut =
(javax.transaction.UserTransaction)initialContext.lookup("java:comp/UserTransaction"); /* 4 */
TopicConnection topicConnection = topicConnectionFactory.createTopicConnection(); /* 5 */
TopicSession topicSession = topicConnection.createTopicSession(true , 0); /* 6 */
TopicSubscriber topicSubscriber = topicSession.createSubscriber(topic); /* 7 */
topicConnection.start(); /* 8 */
ut.begin(); /* 9 */
Message message = topicSubscriber.receive(); /* 10 */
ut.commit(); /* 11 */
topicConnection.close(); /* 12 */
} catch( Exception e ) {
...
}
...
}
} |
1. JNDIの開始コンテキストを構築する。
2. TopicConnectionFactoryオブジェクトを取得する。(JNDI名が“TopicConnectionFactory”の場合)
3. Topic オブジェクトを取得する。(JNDI名が“Topic”の場合)
4. ユーザトランザクションオブジェクトを取得する。
5. TopicConnectionを作成する。
6. TopicSessionを作成する。
7. TopicSubscriberを作成する。
8. 接続によるメッセージの配信を開始する。
9. グローバルトランザクションを開始します。
10. メッセージを受信する。
11. グローバルトランザクションを完了します。
12. TopicConnectionをクローズする。
JNDIの開始コンテキスト構築時の環境プロパティの指定については、“J2EEアプリケーションクライアント”を参照してください。
Durable Subscription機能を使用する場合、グローバルトランザクションの開始(begin)からグローバルトランザクションの完了(commit)の間に、durable Subscriberの解除(unsubscribe)は記述できません。
All Rights Reserved, Copyright(C) 富士通株式会社 2005