是否有检查/调试Oracle Coherence缓存内容的工具?

时间:2011-05-09 11:35:46

标签: oracle-coherence

我是Oracle Coherence的新手,我正在尝试找一个开发/调试工具来帮助我验证我的应用程序。

感觉应该有一种直接的方式来查看缓存的键和/或值(甚至可能运行即席查询和函数?)。但是除了(Oracle Coherence Cache Viewer)[http://www.sl.com/products/coherenceviewer.shtml]之外我找不到任何东西。

否则我可以写一些东西来询问Coherence JMX MBean,使用Coherence命令行界面,或者自己编写代码来查询我的缓存,但这感觉就像之前遇到过的一个问题 - 希望我可以回收一些东西而不是而不是从头开始写?

4 个答案:

答案 0 :(得分:9)

我能找到的最好的工具是QueryPlus命令行工具,附带完整的Coherence安装%COHERENCE_HOME%\bin\query.cmd$COHERENCE_HOME/bin/query.sh

您需要通过在JVM上设置属性将其指向Coherence配置文件:

java -Dtangosol.coherence.cacheconfig=META-INF/wlevs/coherence/coherence-cache-config.xml -Dtangosol.pof.config=my-pof-config.xml ...

您还需要将加载用户类型所需的所有jar添加到类路径中,并在类路径中获取tangosol-coherence-override.xml以定义要加入的集群。

答案 1 :(得分:3)

QueryPlus的GUI: http://code.google.com/p/zh-coherence-viewer/ 它可以执行CohQL脚本并在表格或文本窗格中显示它。

答案 2 :(得分:2)

我一直在使用基于Coherence C ++客户端库的命令行工具:

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

答案 3 :(得分:2)

另请参阅“使用Coherence查询语言”:http://docs.oracle.com/cd/E15357_01/coh.360/e15723/api_cq.htm