nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
jp.ossc.nimbus.service.jms.JMSQueueReceiverFactoryServiceは、JMSサーバのQueueからメッセージを受信するjavax.jms.QueueReceiverを生成するJMSMessageConsumerFactory実装サービスです。
JMS1.0では、QueueSessionとTopicSessionのインタフェースが統一されていなかったため、QueueSessionからQueueReceiverを生成します。
このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。
下位サービスインタフェース | 用途 |
jp.ossc.nimbus.service.jms.JMSSessionFactory | JMSセッションを取得する。 |
jp.ossc.nimbus.service.jndi.JndiFinder | JMSの宛先をlookupする。 |
以下に簡単なサービス定義を示します。
- <?xml version="1.0" encoding="Shift_JIS"?>
- <!DOCTYPE server PUBLIC
- "-//Nimbus//DTD Nimbus 1.0//JA"
- "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
- <server>
- <manager>
- <!-- javax.jms.QueueReceiverを生成するJMSMessageConsumerFactoryサービス -->
- <service name="JMSMessageConsumerFactory"
- code="jp.ossc.nimbus.service.jms.JMSQueueReceiverFactoryService">
- <!-- javax.jms.Sessionを取得するJMSSessionFactoryサービスのサービス名を設定する -->
- <attribute name="JMSSessionFactoryServiceName">#JMSSessionFactory</attribute>
- <!-- javax.jms.DestinationをlookupするJndiFinderサービスのサービス名を設定する -->
- <attribute name="DestinationFinderServiceName">#JndiFinder</attribute>
- <!-- javax.jms.DestinationのJNDI名を設定する -->
- <attribute name="DestinationName">queue/TestQueue</attribute>
- <depends>JMSSessionFactory</depends>
- <depends>JndiFinder</depends>
- </service>
- <!-- javax.jms.Sessionを取得するJMSSessionFactoryサービス -->
- <service name="JMSSessionFactory"
- code="jp.ossc.nimbus.service.jms.JMSQueueSessionFactoryService">
- <attribute name="JMSConnectionFactoryServiceName">#JMSConnectionFactory</attribute>
- <depends>JMSConnectionFactory</depends>
- </service>
- <!-- javax.jms.Connectionを取得するConnectionFactoryサービス -->
- <service name="JMSConnectionFactory"
- code="jp.ossc.nimbus.service.jms.JMSQueueConnectionFactoryService">
- <attribute name="JndiFinderServiceName">#JndiFinder</attribute>
- <attribute name="ConnectionFactoryName">XAConnectionFactory</attribute>
- <depends>JndiFinder</depends>
- </service>
- <!-- JNDIからlookupするJndiFinderサービス -->
- <service name="JndiFinder"
- code="jp.ossc.nimbus.service.jndi.CachedJndiFinderService"/>
- </manager>
- </server>