嗨,我是oracle相干的新手,
问题1:我的情况是,我必须在Web应用程序中实现oracle一致性复制缓存(使用weblogic服务器)。一致性应该是weblogic服务器的一部分,这意味着当我启动weblogic服务器时,一致性应该启动
(两者都应在单个JVM中运行)。请帮助我该怎么做?
问题2:我是否需要数据库来维护记录或它在文件系统中自行维护的oracle一致性?如果是,则表示当我关闭服务器时,缓存的数据将如何以及将发生什么?
最佳答案
Q1:
我将分两步描述它:
coherence.jar
放在类路径中。根据具体情况,它可以是WLS类路径或应用程序的类路径。除非要在许多应用程序之间共享一致性节点,否则最好将其放在应用程序的类路径中。它还具有其他优点,例如易于维护。 coherence-cache-config.xml
,则可以跳过此步骤,但是请记住,缓存名称必须以repl-
开头,通常不建议在生产环境中使用。否则,将以下内容放入custom-cache-config.xml
文件,并将其添加到应用程序的类路径中。<?xml version="1.0"?> <cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config" xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd"> <caching-scheme-mapping> <cache-mapping> <cache-name>my-repl-cache</cache-name> <scheme-name>replicated</scheme-name> </cache-mapping> </caching-scheme-mapping> <caching-schemes> <replicated-scheme> <scheme-name>replicated</scheme-name> <backing-map-scheme> <local-scheme/> </backing-map-scheme> <autostart>true</autostart> </replicated-scheme> </caching-schemes> </cache-config>
Create a ContextListener
for your application and place the following code into contextInitialized
method:
// join existing cluster or form a new one
CacheFactory.ensureCluster();
-Dtangosol.coherence.cacheconfig=custom-cache-config.xml
Q2:
通常,一致性是在内存解决方案中,默认情况下不会持久化数据。如果您需要管理持久性存储中的数据,则可以查看CacheStore界面。在文档中here对此进行了描述。
请记住,集群中通常有一个以上的一致性节点,因此在关闭其中一个节点时不会丢失数据,因为数据也总是存储在其他JVM中。当您重新启动节点时,它将加入群集,并且您的数据将在那里。
关于oracle-coherence - Oracle与weblogic服务器的一致性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8162918/