nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
jp.ossc.nimbus.service.ioccall.DefaultFacadeCallServiceは、FacadeCallerデフォルト実装サービスです。
このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。
下位サービスインタフェース | 用途 |
jp.ossc.nimbus.service.ejb.EjbFactory | IOCのEJBを取得する。 |
jp.ossc.nimbus.service.queue.QueueHandlerContainer | NimbusのQueueを使って非同期実行を行う。 |
jp.ossc.nimbus.service.jndi.JndiFinder | JMS Queueをlookupする。 |
jp.ossc.nimbus.service.resource.ResourceFactory | JMS Sessionを取得する。 |
jp.ossc.nimbus.service.context.ThreadContextService | FacadeValueのヘッダを使って呼び出し先にコンテキスト情報を伝搬する。 |
以下に簡単なサービス定義を示します。
- <?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>
- <!-- IOC呼び出しサービス -->
- <service name="IOCFacadeCaller"
- code="jp.ossc.nimbus.service.ioccall.DefaultFacadeCallService">
- <!-- Facade EJBを取得するEjbFactoryサービスのサービス名を設定する -->
- <attribute name="EjbFactoryServieName">#FacadeEjbFactory</attribute>
- <!-- Facade EJBをのJNDI名を設定する -->
- <attribute name="FacadeEjbName">SLSBFacadeRemote</attribute>
- <!-- UnitOfWork EJBを取得するEjbFactoryサービスのサービス名を設定する -->
- <attribute name="UnitOfWorkEjbFactoryServieName">#UnitOfWorkEjbFactory</attribute>
- <!-- UnitOfWork EJBをのJNDI名を設定する -->
- <attribute name="UnitOfWorkEjbName">SLSBUnitOfWorkRemote</attribute>
- <!-- Command EJBを取得するEjbFactoryサービスのサービス名を設定する -->
- <attribute name="CommandEjbFactoryServieName">#CommandEjbFactory</attribute>
- <!-- Command EJBをのJNDI名を設定する -->
- <attribute name="CommandEjbName">SLSBCommandRemote</attribute>
- <!-- JMS QueueをlookupするJndiFinderサービスのサービス名を設定する -->
- <attribute name="QueueFinderServiceName">#LocalJndiFinder</attribute>
- <!-- JMS QueueをとのSessionを取得するResourceFactoryサービスのサービス名を設定する -->
- <attribute name="QueueSessionFactoryServiceName">#QueueSessionFactory</attribute>
- <!-- JMS QueueのJNDI名を設定する -->
- <attribute name="QueueName">queue/IOCQueue</attribute>
- <depends>FacadeEjbFactory</depends>
- <depends>UnitOfWorkEjbFactory</depends>
- <depends>CommandEjbFactory</depends>
- <depends>LocalJndiFinder</depends>
- <depends>QueueSessionFactory</depends>
- </service>
- <!-- Facade EJB EjbFactoryサービス -->
- <service name="FacadeEjbFactory"
- code="jp.ossc.nimbus.service.ejb.UnitEJBFactoryService">
- <attribute name="HomeType">jp.ossc.nimbus.ioc.ejb.facade.SLSBFacadeHome</attribute>
- <attribute name="RemoteType">jp.ossc.nimbus.ioc.ejb.facade.SLSBFacadeRemote</attribute>
- <attribute name="JndiFinderServiceName">#LocalJndiFinder</attribute>
- <depends>LocalJndiFinder</depends>
- </service>
- <!-- UnitOfWork EJB EjbFactoryサービス -->
- <service name="UnitOfWorkEjbFactory"
- code="jp.ossc.nimbus.service.ejb.UnitEJBFactoryService">
- <attribute name="HomeType">jp.ossc.nimbus.ioc.ejb.unitofwork.SLSBUnitOfWorkHome</attribute>
- <attribute name="RemoteType">jp.ossc.nimbus.ioc.ejb.unitofwork.SLSBUnitOfWorkRemote</attribute>
- <attribute name="JndiFinderServiceName">#LocalJndiFinder</attribute>
- <depends>LocalJndiFinder</depends>
- </service>
- <!-- Command EJB EjbFactoryサービス -->
- <service name="CommandEjbFactory"
- code="jp.ossc.nimbus.service.ejb.UnitEJBFactoryService">
- <attribute name="HomeType">jp.ossc.nimbus.ioc.ejb.command.SLSBCommandHome</attribute>
- <attribute name="RemoteType">jp.ossc.nimbus.ioc.ejb.command.SLSBCommandRemote</attribute>
- <attribute name="JndiFinderServiceName">#LocalJndiFinder</attribute>
- <depends>LocalJndiFinder</depends>
- </service>
- <!-- JMSのSessionをリソースとして生成するResourceFactoryサービス -->
- <service name="QueueSessionFactory"
- code="jp.ossc.nimbus.service.resource.jms.JMSSessionFactoryService">
- <attribute name="JMSSessionFactoryServiceName">#JMSSessionFactory</attribute>
- <depends>JMSSessionFactory</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">#LocalJndiFinder</attribute>
- <attribute name="ConnectionFactoryName">XAConnectionFactory</attribute>
- <depends>LocalJndiFinder</depends>
- </service>
- <!--ローカルJNDI検索サービス-->
- <service name="LocalJndiFinder"
- code="jp.ossc.nimbus.service.jndi.CachedJndiFinderService"/>
- </manager>
- </server>