Есть ли инструмент для проверки/отладки содержимого кешей Oracle Coherence?
Я новичок в Oracle Coherence, и я пытаюсь найти средство разработки/отладки, чтобы помочь мне проверить мое приложение.
Кажется, должен быть прямой способ просмотра ключей и/или значений кеша (и, возможно, даже запускать специальные запросы и функции?). Однако я не могу найти ничего, кроме (Oracle Coherence Cache Viewer) [http://www.sl.com/products/coherenceviewer.shtml].
В противном случае я могу написать что-то, чтобы опросить MBM Coherence JMX, использовать интерфейс командной строки Coherence или написать код для запроса моего кеша, но это похоже на проблему, с которой мы сталкивались раньше - надеюсь, что я могу что-то переработать чем писать с нуля?
Ответы
Ответ 1
Лучший инструмент, который я могу найти, - это инструмент командной строки QueryPlus, поставляемый с полной установкой Coherence %COHERENCE_HOME%\bin\query.cmd
или $COHERENCE_HOME/bin/query.sh
.
Вам нужно указать его в конфигурационные файлы Coherence, установив свойства в JVM:
java -Dtangosol.coherence.cacheconfig=META-INF/wlevs/coherence/coherence-cache-config.xml -Dtangosol.pof.config=my-pof-config.xml ...
Вам также нужно добавить все банки, необходимые для загрузки ваших типов пользователей в путь к классам, и получить tangosol-coherence-override.xml
в пути к классам, чтобы определить кластер для присоединения.
Ответ 2
GUI для QueryPlus:
http://code.google.com/p/zh-coherence-viewer/
Он может выполнять CohQL script и показывать его в таблице или текстовой панели.
Ответ 3
Я работаю над инструментом командной строки на базе клиентской библиотеки Coherence С++ здесь:
https://github.com/actsasflinn/coherence-tool
Пока нет CohQL, но поддерживает следующее использование, которое охватывает большинство всего, что я хочу:
./run.sh <cache-name> get <key1> [key2] ...
./run.sh <cache-name> mget
./run.sh <cache-name> put <key> <value>
./run.sh <cache-name> mput <key1> <value1> [<key2> <value2>] ...
./run.sh <cache-name> delete <key> [key2] ...
./run.sh <cache-name> size
./run.sh <cache-name> keys
./run.sh <cache-name> values
./run.sh <cache-name> key_exists <key>
./run.sh <cache-name> value_exists <value>
./run.sh <cache-name> clear
Ответ 4
См. также "Использование языка запросов Coherence": http://docs.oracle.com/cd/E15357_01/coh.360/e15723/api_cq.htm