JMSMessageProducerFactory実装サービス jp.ossc.nimbus.service.jms.JMSQueueSenderFactoryService

jp.ossc.nimbus.service.jms.JMSQueueSenderFactoryServiceは、JMSサーバのQueueにメッセージを送信するjavax.jms.QueueSenderを生成するJMSMessageProducerFactory実装サービスです。

JMS1.0では、QueueSessionとTopicSessionのインタフェースが統一されていなかったため、QueueSessionからQueueSenderを生成します。

このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。

下位サービスインタフェース用途
jp.ossc.nimbus.service.jms.JMSSessionFactoryJMSセッションを取得する。
jp.ossc.nimbus.service.jndi.JndiFinderJMSの宛先をlookupする。

以下に簡単なサービス定義を示します。

  1. <?xml version="1.0" encoding="Shift_JIS"?>
  2. <!DOCTYPE server PUBLIC
  3. "-//Nimbus//DTD Nimbus 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
  5. <server>
  6. <manager>
  7. <!-- javax.jms.QueueSenderを生成するJMSMessageProducerFactoryサービス -->
  8. <service name="JMSMessageProducerFactory"
  9. code="jp.ossc.nimbus.service.jms.JMSQueueSenderFactoryService">
  10. <!-- javax.jms.Sessionを取得するJMSSessionFactoryサービスのサービス名を設定する -->
  11. <attribute name="JMSSessionFactoryServiceName">#JMSSessionFactory</attribute>
  12. <!-- javax.jms.DestinationをlookupするJndiFinderサービスのサービス名を設定する -->
  13. <attribute name="DestinationFinderServiceName">#JndiFinder</attribute>
  14. <!-- javax.jms.DestinationのJNDI名を設定する -->
  15. <attribute name="DestinationName">queue/TestQueue</attribute>
  16. <depends>JMSSessionFactory</depends>
  17. <depends>JndiFinder</depends>
  18. </service>
  19. <!-- javax.jms.Sessionを取得するJMSSessionFactoryサービス -->
  20. <service name="JMSSessionFactory"
  21. code="jp.ossc.nimbus.service.jms.JMSQueueSessionFactoryService">
  22. <attribute name="JMSConnectionFactoryServiceName">#JMSConnectionFactory</attribute>
  23. <depends>JMSConnectionFactory</depends>
  24. </service>
  25. <!-- javax.jms.Connectionを取得するConnectionFactoryサービス -->
  26. <service name="JMSConnectionFactory"
  27. code="jp.ossc.nimbus.service.jms.JMSQueueConnectionFactoryService">
  28. <attribute name="JndiFinderServiceName">#JndiFinder</attribute>
  29. <attribute name="ConnectionFactoryName">XAConnectionFactory</attribute>
  30. <depends>JndiFinder</depends>
  31. </service>
  32. <!-- JNDIからlookupするJndiFinderサービス -->
  33. <service name="JndiFinder"
  34. code="jp.ossc.nimbus.service.jndi.CachedJndiFinderService"/>
  35. </manager>
  36. </server>


JMS/JMSMessageProducerFactory