简体   繁体   中英

Can we Test Object's presence in Oracle Coherence?

I have a requirement where i need to create a third party application which will test any object's presence in Oracle Coherence.

Scenario: Our main application uses Oracle Coherence to store some data, now i have to create a separate application (which will be running on a different server - out of the coherence cluster node). This particular application will detect whether some particular object is present in the coherence or not. We have no plans to run coherence on this machine too. Can any third party application (which is not part of the coherence cluster) connect to coherence and fetch data? If yes then how? can i get some pointers to do the same?

There are multiple ways you can do it.

1) Use Coherence Extend - This allows any application to interact with Coherence without being part of Coherence Cluster. Refer to http://docs.oracle.com/cd/E14526_01/coh.350/e14509/configextend.htm

This option is supported only if the third part application is in Java, .Net or C++ http://coherence.oracle.com/display/COH35UG/Coherence+Extend#CoherenceExtend-Typesofclients

2) Use REST API - The newer/latest versions of Coherence exposes cache data management using REST API's. Refer to http://docs.oracle.com/cd/E24290_01/coh.371/e22839/rest_intro.htm

This option does not have any restriction on client/third part technology as it is based on XML/JSON over HTTP.

Using REST you can check presence of cache key as below.

GET Operation

GET http://{host}:{port}/cacheName/key

Returns a single object from the cache based on a key. A 404 (Not Found) message is returned if the object with the specified key does not exist.

I created such a tool some time back using the C++ API.

https://github.com/actsasflinn/coherence-tool

I also wrapped the C++ API in a Ruby binding for scripting purposes.

https://github.com/actsasflinn/ruby-coherence

Either of these can run standalone outside of the cluster and rely on the TCP proxy method of communicating with a cluster.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM