【问题标题】:How do I communicate apache MQ with wso2 BAM server? (no ESB keeping it simple)如何与 wso2 BAM 服务器通信 apache MQ? (没有 ESB 保持简单)
【发布时间】:2015-05-15 10:17:42
【问题描述】:

我正在尝试使用 wso2 BAM 服务器获取一些简单的 Web 统计信息,我已经安装了它,我了解事件是如何定义的、如何存储在 casssandra 数据库中等的,但我缺少最重要的东西:如何通过事件本身到 BAM 服务器?

我已经编写了系统,其中 json 文件存储在一个文件(“队列”)中,我的 java 进程每 30 秒读取和处理一次,我认为这会很相似,但事实是我很迷茫。

7611端口是TCP,正在监听。
我必须通过它向 BAM 服务器发送事件吗?

任何帮助将不胜感激!

【问题讨论】:

    标签: queue wso2 wso2bam


    【解决方案1】:

    AFAIK,Apache mq 不直接支持 WSO2 BAM。您必须使用 ESB 或 CEP 通过 thrift 将事件发送到 BAM(然后您可以使用 apache mq 将事件发送到 ESB/CEP 并通过这些产品中的任何一个,您可以将事件发送到 BAM)。

    但是您可以使用 REST api 将事件发送到 BAM,这是一种更简单的方法。请参考文档 [1]。我认为 BAM 的未来版本将支持 jms(仅供参考,请参阅 [2])。

    [1]http://docs.wso2.org/wiki/display/BAM220/REST+API

    [2]WSO2 BAM with JMS

    感谢,

    莫汉

    【讨论】:

    • 非常感谢!我终于可以使用 docs.wso2.org/wiki/display/BAM220/REST+API 中描述的 curl 来发送 srtream 定义和事件。现在我必须构建一些 java 来从 apache MQ 输出队列中挑选数据并以这种方式将其提供给 BAM 服务器 :))
    【解决方案2】:

    BAM 可以通过 REST API 或 Thrift API 获取事件。 默认情况下,7611 是不安全的 Thrift 端口,而 7711 是安全的 Thrift 端口。 由于目前 BAM 没有开箱即用的 Apache MQ 数据代理,因此您必须自己编写一个。 如果您想使用 Java 将事件直接发布到 BAM,您可以使用 WSO2 代码库中的 DataBridge 组件。 (即,使用https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.1.0/components/data-bridge/org.wso2.carbon.databridge.agent.thrift/4.1.1

    【讨论】:

    • 谢谢 Maninda,我在使用 databridge.agent 库时遇到了一些问题,端口 7611 正在侦听但拒绝任何 TCP 连接,我尝试使用 carbon svn 中的 VariableKeyValueAgent 类示例但没有能够找到要导入的 org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher...幸运的是,有这种简单的方法可以使用 curl 将事件和流定义发送到 BAM 服务器数据代理,我可以从那里开始:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-21
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多