| Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド |
目次
索引
![]()
|
| 第6部 JMS編 | > 第24章 JMSアプリケーションの開発 | > 24.2 作成方法 | > 24.2.3 Durable Subscription機能 |
durable Subscriberを作成します。durable Subscriberは、イベントチャネルにメッセージを要求します。Durable Subscription機能を使用してメッセージを受信する手続き例と処理の流れを以下に説明します。
[Durable Subscription機能を使用したMessageConsumer]
import javax.jms.*;
import javax.naming.*;
public class SubscriberD {
public static void main( String[] args ) {
Connection connection = null;
...
try {
java.util.Hashtable env = new java.util.Hashtable( );
env.put ( javax.naming.Context.INITIAL_CONTEXT_FACTORY ,
"com.fujitsu.interstage.j2ee.jndi.InitialContextFactoryForClient" );
InitialContext initialContext = new InitialContext(env); /* 1 */
ConnectionFactory connectionFactory = (ConnectionFactory)
initialContext.lookup("java:comp/env/jms/ConnectionFactory"); /* 2 */
Topic topic = (Topic)initialContext.lookup("java:comp/env/jms/Topic"); /* 3 */
connection = connectionFactory.createConnection(); /* 4 */
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); /* 5 */
TopicSubscriber topicSubscriber = session.createDurableSubscriber(topic, "dsub"); /* 6 */
connection.start(); /* 7 */
Message message = topicSubscriber.receive(); /* 8 */
topicSubscriber.close(); /* 9 */
session.unsubscribe("dsub"); /* 10 */
} catch( Exception e ) {
...
}
finally {
if( null != connection ) {
try {
connection.close(); /* 11 */
}
catch( Exception e ) {
...
}
}
}
}
} |

JNDIの開始コンテキスト構築時の環境プロパティの指定については、“J2EEアプリケーションクライアント”を参照してください。
Durable TopicSubscriberを解除すると、JMSプロバイダがアプリケーションに代わって持続している接続状態が削除されるため、アプリケーション中断中に送信されたメッセージをアプリケーション再起動後に受信することはできません。Durable Subscription機能が必要なくなった場合にのみDurable TopicSubscriberを解除してください。
目次
索引
![]()
|