我已经花了超过2天的时间尝试完成这项工作而没有任何结果。服务器是带有嵌入式Coherence服务器的WebLogic 12c。值得一提的是,我没有在独立模式下运行Coherence,而是在可以通过JNDI上下文访问Coherence的应用服务器旁边自动启动。我正在尝试使用PortableObject接口实现POF序列化方法,以序列化我在Coherence中保存的某些对象。我还创建了相应的pof-config.xml,用于注册我计划序列化的对象。唯一的问题是:如何将覆盖添加到coherence类路径?
根据http://docs.oracle.com/cd/E24290_01/coh.371/e22837/gs_config.htm#COHDG5014,我可以使用以下系统属性:
java -Dtangosol.pof.config=MyPOF.xml -cp COHERENCE_HOME;COHERENCE_HOME\lib\coherence.jar com.tangosol.net.DefaultCacheServer
这里唯一的问题是我不知道要编辑哪个sh / cmd文件,因为我对Oracle_Home \ coherence \ bin \中的文件所做的所有编辑都没有效果。
同样的文章说有一种方法可以确认pof-config覆盖:
Coherence节点的输出指示启动时加载的POF配置部署描述符的位置和名称。配置消息是在发布Coherence版权文本后显示的消息之一,并且与配置为使用POF的高速缓存服务相关联。在开发和测试Coherence应用程序和解决方案时,输出特别有用。
Loading POF configuration from resource "file:/D:/coherence/my-pof-config.xml"
但是我无法在服务器实例生成的日志中找到任何提到的行。
有什么想法吗?
答案 0 :(得分:1)
不要编辑Oracle_Home
内的文件,而是在weblogic管理控制台中尝试以下内容:
-Dtangosol.pof.config=MyPOF.xml
每次服务器启动时都应具有该属性。如果您没有使用nodemanager启动服务器,则应该执行以下操作。请记住,这将更改weblogic域中每个服务器的属性:
<domain home>
/ bin目录startWebLogic.sh/cmd
JAVA_OPTIONS=
行并添加-Dtangosol.pof.config=MyPOF.xml
CLASSPATH=