Действительно, можно настроить кэширование для dataservices через файл конфигурации без использования консоли управления. Каждая служба данных развертывается как форма службы axis2. Поэтому вы можете использовать файл «services.xml», который вы обычно используете для настройки параметров, связанных с сервисом axis2, и с помощью dataservices тоже с небольшой модификацией. То есть, если имя вашего dataservice является «TestDS», вы должны назвать свой файл services.xml «TestDS_services.xml» и поместить его в каталог развертывания dataservices, который может быть расположен в «DSS_HOME/репозиторий/развертывание/сервер/DataServices». Затем вы можете включить политику кэширования с вашими собственными значениями в качестве параметров внутри вышеупомянутого файла конфигурации. Также важно отметить, что вы можете задействовать кэширование на трех уровнях для данных, а именно, для каждой группы услуг/за услугу/за операцию.
Образец 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 внутри вышеуказанного каталога, вы должны закомментировать следующую запись из файла конфигурации axis2.xml, который может быть расположен в директории «DSS_HOME/хранилище/конф» ,
<listener class="org.wso2.carbon.core.deployment.DeploymentInterceptor">
Теперь вам хорошо с вашим развертыванием. Перезагрузите сервер, и вы сможете получить вышеупомянутую функциональность.
ПРИМЕЧАНИЕ. Вы также хотели бы получить информацию о том, что в этом пространстве в DSS было сделано много улучшений для нашей непосредственной предстоящей публикации DSS. (DSS 3.0.0).
С уважением, Prabath
Спасибо за вашу помощь, она работает хорошо, в настоящее время –
Большой услышать это работает для Вас! :) –