我有一个需要创建第三方应用程序的需求,该应用程序将测试Oracle Coherence中任何对象的存在。
场景:我们的主应用程序使用Oracle Coherence存储一些数据,现在我必须创建一个单独的应用程序(该应用程序将在不同的服务器上运行-在一致性群集节点之外)。该特定应用程序将检测相干中是否存在某些特定对象。我们也没有计划在此计算机上运行一致性。
任何第三方应用程序(不属于一致性群集的一部分)都可以连接到一致性并获取数据吗?如果是,那怎么办?我可以得到一些指针来做同样的事情吗?
最佳答案
您可以通过多种方式进行操作。
1)使用Coherence Extend-允许任何应用程序与Coherence交互,而无需成为Coherence集群的一部分。
请参阅http://docs.oracle.com/cd/E14526_01/coh.350/e14509/configextend.htm
仅当第三方应用程序是Java,.Net或C ++时,才支持此选项。
http://coherence.oracle.com/display/COH35UG/Coherence+Extend#CoherenceExtend-Typesofclients
2)使用REST API-Coherence的较新/最新版本公开了使用REST API的缓存数据管理。请参阅http://docs.oracle.com/cd/E24290_01/coh.371/e22839/rest_intro.htm
该选项基于HTTP上的XML / JSON,因此对客户端/第三方技术没有任何限制。
使用REST,您可以按以下方式检查是否存在缓存键。
GET操作
GET http:// {host}:{port} / cacheName / key
根据键从缓存中返回单个对象。如果具有指定键的对象不存在,则返回404(未找到)消息。