我正在尝试通过Oracle一致性实现缓存。我的要求是将coherence-cache-config.xml放在路径中,并使其覆盖jar中存在的相同文件。
我已经提到了在Environment-> CoherenceServers-> ServerStart下的Arguements中放置自定义coherence-cache-config.xml(我将其命名为MyConfig.xml)的路径。在我保存MyConfig.xml的同一路径中,我还保留了tangosol-coherence-override.xml。使用这个tangosol-coherence-override.xml,我在weblogic中创建了一个集群,并与我正在使用的coherence服务器相关联。
我已经通过weblogic的管理控制台成功启动了我的连贯服务器,即使那时遇到缓存的连贯服务器我得到“没有缓存方案:”MyCache“”。请建议我如何解决这个问题。如果我打开jar并覆盖coherence-cache-config.xml,那么它也可以正常工作。
答案 0 :(得分:0)
基于Coherence Developer's Guide,您可以通过两种方式为缓存配置文件指定自定义路径:
在configurable-cache-factory-config
文件中设置tangosol-coherence-override.xml
。见下面的例子:
<coherence>
<configurable-cache-factory-config>
<init-params>
<init-param>
<param-type>java.lang.String</param-type>
<param-value system-property="tangosol.coherence.cacheconfig">MyConfig.xml</param-value>
</init-param>
</init-params>
</configurable-cache-factory-config>
</coherence>
使用tangosol.coherence.cacheconfig
作为JVM参数。例如。 java -Dtangosol.coherence.cacheconfig=MyConfig.xml ...
答案 1 :(得分:0)
很可能您已加载默认缓存配置部署描述符。
我建议使用服务器启动脚本中指定的tangosol.coherence.cacheconfig
系统属性覆盖它。例如:
java -Dtangosol.coherence.cacheconfig = / your_local_path / MyConfig.xml
要确定加载了哪些缓存配置部署描述符,请检查您的一致性日志 - 它应包含以下输出:
从资源加载缓存配置 “文件:/your_local_path/MyConfig.xml”