DSSにはさまざまなサービスがデプロイされており、キャッシュの方法も異なります。
- キャッシュなし
- 1時間のキャッシュ
- 1日キャッシュ
管理コンソールを使用せずに、このキャッシュを各dbsファイルに直接設定する方法はありますか?
もう1つの方法は、構成ファイルを介してこれら3つのキャッシュを設定し、dbsファイルからそれらを参照することです。
私たちが探している解決策は、管理コンソールを使用しないことです。
管理コンソールを使用せずに、構成ファイルを介してデータサービスのキャッシュを構成することは実際に可能です。各データサービスは、axis2 サービスの形式でデプロイされます。そのため、通常は axis2 サービス関連のパラメーターを構成するために使用する「services.xml」ファイルを、少し変更して dataservices と共に使用できます。つまり、データサービスの名前が「TestDS」の場合、services.xml ファイルに「TestDS_services.xml」という名前を付け、「DSS_HOME/repository/deployment/server」にあるデータサービス展開ディレクトリ内に配置する必要があります。 /データサービス"。次に、前述の構成ファイル内のパラメーターとして独自の値を持つキャッシュ ポリシーを含めることができます。また、次の点に注意することも重要です。
サンプルの services.xml を以下に示します。
<serviceGroup>
<service name="TestDS">
<!--parameter name="ServiceObjectSupplier">org.apache.axis2.engine.DefaultObjectSupplier</parameter-->
<Description>Enabling caching through sevices.xml</Description>
<operation name="op1">
<messageReceiver class="org.wso2.carbon.dataservices.core.DBInOutMessageReceiver"/>
<module ref="wso2caching"/>
<wsp:Policy
wsu:Id="WSO2CachingPolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsch:CachingAssertion xmlns:wsch="http://www.wso2.org/ns/2007/06/commons/caching">
<wsp:Policy>
<wsp:All>
<wsch:XMLIdentifier>org.wso2.caching.digest.DOMHASHGenerator</wsch:XMLIdentifier>
<wsch:ExpireTime>70000</wsch:ExpireTime>
<wsch:MaxCacheSize>1000</wsch:MaxCacheSize>
<wsch:MaxMessageSize>1000</wsch:MaxMessageSize>
</wsp:All>
</wsp:Policy>
</wsch:CachingAssertion>
</wsp:Policy>
</operation>
<operation name="op2">
<messageReceiver class="org.wso2.carbon.dataservices.core.DBInOutMessageReceiver"/>
<module ref="wso2caching"/>
<wsp:Policy
wsu:Id="WSO2CachingPolicy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsch:CachingAssertion xmlns:wsch="http://www.wso2.org/ns/2007/06/commons/caching">
<wsp:Policy>
<wsp:All>
<wsch:XMLIdentifier>org.wso2.caching.digest.DOMHASHGenerator</wsch:XMLIdentifier>
<wsch:ExpireTime>600000</wsch:ExpireTime>
<wsch:MaxCacheSize>1000</wsch:MaxCacheSize>
<wsch:MaxMessageSize>1000</wsch:MaxMessageSize>
</wsp:All>
</wsp:Policy>
</wsch:CachingAssertion>
</wsp:Policy>
</operation>
<operation name="op3">
</operation>
</service>
</serviceGroup>
「data_service_name」_services.xml ファイルを前述のディレクトリ内に配置した後、「DSS_HOME/repository/conf」ディレクトリにある axis2.xml 構成ファイルから次のエントリをコメントアウトする必要があります。
<listener class="org.wso2.carbon.core.deployment.DeploymentInterceptor">
これで、デプロイを開始できます。サーバーを再起動すると、前述の機能が動作するようになります。
注: また、近日中に予定されている DSS リリースに向けて、DSS のこの領域で多くの改善が行われたこともお知らせします。(DSS 3.0.0)。
よろしく、 プラバース