Можем ли мы проверить наличие объекта в Oracle Coherence?

У меня есть требование, когда мне нужно создать стороннее приложение, которое будет проверять наличие любого объекта в Oracle Coherence.

Сценарий. Наше основное приложение использует Oracle Coherence для хранения некоторых данных, теперь мне нужно создать отдельное приложение (которое будет работать на другом сервере — вне узла кластера Coherence). Это конкретное приложение будет определять, присутствует ли какой-то конкретный объект в когерентности или нет. У нас нет планов запускать когерентность и на этой машине. Может ли какое-либо стороннее приложение (не являющееся частью кластера когерентности) подключаться к когерентности и получать данные? Если да, то как? Могу ли я получить некоторые указатели, чтобы сделать то же самое?


person Prabal Nandi    schedule 05.02.2013    source источник


Ответы (2)


Есть несколько способов сделать это.

1) Использовать расширение Coherence. Это позволяет любому приложению взаимодействовать с 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

Этот вариант не имеет каких-либо ограничений на технологию клиента/третьих сторон, поскольку он основан на XML/JSON через HTTP.

Используя REST, вы можете проверить наличие ключа кеша, как показано ниже.

Операция GET

ПОЛУЧИТЬ http://{хост}:{порт}/имя_кэша/ключ

Возвращает один объект из кеша на основе ключа. Сообщение 404 (Not Found) возвращается, если объект с указанным ключом не существует.

person Kumar225    schedule 05.02.2013

Я создал такой инструмент некоторое время назад, используя C++ API.

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

Я также завернул C++ API в привязку Ruby для целей написания сценариев.

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

Любой из них может работать автономно за пределами кластера и полагаться на метод прокси-сервера TCP для связи с кластером.

person Flynn    schedule 25.04.2014