未从指定位置

时间:2017-02-02 09:32:16

标签: java caching weblogic-10.x oracle-coherence

我正在尝试通过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,那么它也可以正常工作。

2 个答案:

答案 0 :(得分:0)

基于Coherence Developer's Guide,您可以通过两种方式为缓存配置文件指定自定义路径:

  1. 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>
    
  2. 使用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”