nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
jp.ossc.nimbus.service.aop.interceptor.servlet.ServletRequestExchangeInterceptorServiceは、HTTPリクエストを任意のオブジェクトに交換するInterceptor実装サービスです。
このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。
下位サービスインタフェース | 用途 |
jp.ossc.nimbus.util.converter.Converter | HTTPリクエストを任意のオブジェクトに変換する。 |
jp.ossc.nimbus.service.context.Context | 交換後のオブジェクトを設定するコンテキスト。 |
jp.ossc.nimbus.service.journal.Journal | ジャーナルを出力する。 |
jp.ossc.nimbus.service.journal.editorfinder.EditorFinder | ジャーナルを編集するjp.ossc.nimbus.service.journal.JournalEditorを見つける。 |
以下に簡単なサービス定義を示します。
- <?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>
- <!-- HTTPリクエストを任意のオブジェクトに交換するInterceptorサービス -->
- <service name="ServletRequestExchangeInterceptor"
- code="jp.ossc.nimbus.service.aop.interceptor.servlet.ServletRequestExchangeInterceptorService">
- <!-- HTTPリクエストを任意のオブジェクトに変換するConverterサービスのサービス名を設定する -->
- <attribute name="ConverterServiceName">#DataSetServletRequestParameterConverter</attribute>
- <depends>DataSetServletRequestParameterConverter</depends>
- </service>
- <!-- ServletRequestをDataSetに変換するConverterサービス -->
- <service name="DataSetServletRequestParameterConverter"
- code="jp.ossc.nimbus.util.converter.DataSetServletRequestParameterConverter">
- <attribute name="BeanFlowInvokerFactory"><service-ref>#BeanFlowInvokerFactory</service-ref></attribute>
- <attribute name="DataSetPathPrefix">dataset/request</attribute>
- <depends>BeanFlowInvokerFactory</depends>
- </service>
- <!-- 業務フローを生成するBeanFlowInvokerFactoryサービス -->
- <service name="BeanFlowInvokerFactory"
- code="jp.ossc.nimbus.service.beancontrol.DefaultBeanFlowInvokerFactoryService">
- <attribute name="DirPaths">flow</attribute>
- <attribute name="BeanFlowInvokerAccessClass">jp.ossc.nimbus.service.beancontrol.BeanFlowInvokerAccessImpl2</attribute>
- </service>
- </manager>
- </server>
上記で使用するDataSetを生成する業務フローの例を示す。
- <?xml version="1.0" encoding="Shift_JIS"?>
- <!DOCTYPE flows PUBLIC
- "-//Nimbus//DTD Nimbus Bean Flow 1.0//JA"
- "http://nimbus.sourceforge.jp/dtd/beanflow_1_0.dtd">
- <flows>
- <!-- パス"/Login.*"用のDataSetを生成する業務フロー -->
- <flow name="dataset/request/Login">
- <step>
- <target><object code="jp.ossc.nimbus.beans.dataset.DataSet"/></target>
- <attribute name="Name">LoginRequest</attribute>
- <attribute name="HeaderSchema(Authenticate)">
- :userId,java.lang.String
- :password,java.lang.String
- </attribute>
- <result><this/></result>
- </step>
- </flow>
- <flows>