要件に基づいて、独自のサービスの実装を使用して、構築ブロックのサービスをオーバーライド/置換できます。
実装の概要カスタムサービスを追加するには、CorrespondenceManagementSolutionTemplate/Services プロジェクトの構築ブロックサービスに対して、カスタム実装を追加します。また、既存のサービスにカスタム実装を提供すると同時に、そのサービスのインターフェイスを実装します。例えば、CategoryService のカスタム実装を提供するには、com.adobe.icc.services.api.CategoryService インターフェイスを実装します。 次の bean エントリを CorrespondenceManagementSolutionTemplate¥Services¥resources¥META-INF¥spring¥cm¥adobe-cm-spring-config.xml ファイルに追加します。 <bean id="customCategoryService" class="com.adobe.icc.CustomCategoryServiceImpl" />
注意: これらのサンプル設定では、カスタム実装クラスの完全修飾名が com.adobe.icc.CustomCategoryServiceImpl であることを前提としています。
次のエントリを CorrespondenceManagementSolutionTemplate¥Services¥resources¥META-INF¥spring¥osgi-context.xml ファイルの <bp:blueprint> セクションに追加します。
<bp:service interface="com.adobe.icc.services.api.CategoryService" ranking="10" ref="customCategoryService">
<bp:service-properties>
<entry key="connectors.httpinvoker" value="true" />
<entry key="connectors.httpinvoker.alias" value="/lc.icc.dbservices.categoryService" />
</bp:service-properties>
</bp:service>
注意: この設定により、元のカテゴリサービスよりもランクが高いカスタムカテゴリサービスが公開されます。また、2 つのサービスプロパティにより、http エンドポイントで公開されているカテゴリサービスが、カスタムカテゴリサービスでオーバーライドされます。
CorrespondenceManagementSolutionTemplate¥package-resources¥etc¥aep¥config¥dataservices¥destinations¥remoting に XML ファイルを作成し、次の情報で更新されたリモート宛先を公開します。
<destination id="lc.icc.dbservices.categoryService">
<properties>
<factory>osgi</factory>
<scope>application</scope>
<source>com.adobe.icc.services.api.CategoryService</source>
</properties>
</destination>
注意: この設定により、リモートエンドポイントで公開されているカテゴリサービスが、カスタムカテゴリサービスでオーバーライドされます。Flex コードは既に書き込まれ、元のサービスのリモート ID に関連付けられているので、この手順は重要です。これを置き換えるには、より高いランクのカスタムサービスを、同じリモート ID で使用できるようにします。
ソリューションテンプレートを再構築および再デプロイして変更を確認します。再構築および再デプロイについては、Solution Template の構築とデプロイを参照してください。
|
|
|