如何在 Coherence 12.2.1 中启用缓存服务器 JNDI 查找支持?

Posted

技术标签:

【中文标题】如何在 Coherence 12.2.1 中启用缓存服务器 JNDI 查找支持?【英文标题】:How to enable cache server JNDI lookup support in Coherence 12.2.1? 【发布时间】:2016-10-01 12:34:03 【问题描述】:

我正在尝试从与不同 WebLogic 集群保持相同 Coherence 集群的应用层(部署在应用层)访问 Coherence 12.2.1 的缓存(部署在数据层)。

甲骨文声明:

A component-scoped JNDI tree can be used in EJBs, servlets, or JSPs to reference the NamedCache.

To use a component-scoped JNDI lookup, define a resource-ref of type com.tangosol.net.NamedCache in either the web.xml or ejb-jar.xml file. Example 3-2 illustrates a <resource-ref> stanza that identifies myCache as the NamedCache.

在https://docs.oracle.com/cd/E24329_01/web.1211/e24442/coh_wls.htm#COHWL117

我开发了一个 Coherence 应用程序并将其部署到支持本地存储的 WebLogic 服务器(coherence 托管服务器)中。我使用 Application Lifecycle Listener 来访问和初始化缓存,它工作正常。

我发现缓存是用VisualVM填充到Coherence缓存服务器中的,请看附件

但不幸的是,我在我的 WebLogic 托管服务器 JNDI 树中找不到任何关于缓存的信息,请查找附件。

我试图找到一种方法来启用 Coherence 缓存服务器(它已集成到 WebLogic 12c)支持 JNDI 查找。

我发现了这样的东西:

<cache-config xmlns:jndi="class://com.oracle.coherence.environment.extensible.namespaces.JNDINamespaceContentHandler">

   ...

</cache-config>

但不幸的是,com.oracle.coherence.environment.extensible.namespaces.JNDINamespaceContentHandler 已从 WebLogic 12c 中删除。这意味着无法在 Coherence 12cR2 中启用 Coherence 数据缓存 JNDI 名称配置。

请给点建议!!

【问题讨论】:

【参考方案1】:

您是否能够创建 ConnectionFactory、出站池等?

我建议你看看这个帖子here。它应该可以帮助你。

希望对你有帮助!!

【讨论】:

我会尝试你的建议,看看下一步会发生什么。谢谢你的建议。 如何访问封装在 .gar 文件中并部署到应用服务器中的缓存配置文件? .gar 文件可能与应用程序一起部署。它位于部署在 $DOMAIN_HOME/servers//tmp/_WL_user/// 上的 .ear 或 .war 文件中。一旦你在那里,开始寻找 gar 文件。通常人们把它放在包的根目录或者WEB-INF里面。抓住它,打开它,然后你就会得到你需要的配置文件。

以上是关于如何在 Coherence 12.2.1 中启用缓存服务器 JNDI 查找支持?的主要内容,如果未能解决你的问题,请参考以下文章

coherence 和 cohesion 的区别是啥???

Coherence的集群成员的离开和加入

oracle coherence 的开源替代方案? [关闭]

coherence和consistency的意思有区别吗?

使用LDA时python中的get_coherence()函数错误

Coherence代理的负载均衡