无法使用Apache Camel中的AHC-WS组件连接到websocket服务器

时间:2015-06-18 16:16:27

标签: apache-camel slack-api

我使用Apache Camel中的ACH-WS组件使用WSS连接到websocket服务器(Slack的websocket服务器更精确)。我有这样的路线:

from("ahc-wss://host")
  .log(...)
  .to(...)

当我启动我的应用程序时,我看到以下日志:

Route: wss-inbound-event started and consuming from: Endpoint[ahc-wss://ms109.slack-msgs.com/websocket/....]

然而,这似乎与服务器的连接永远不会发生。如果我复制URL字符串并使用另一个websocket客户端,它会连接并立即获得一些欢迎消息。这证明AHC-WS组件从未连接过,因为根据Slack的文档,URL只能使用一次。

我想知道是否需要为组件提供其他选项才能工作。

1 个答案:

答案 0 :(得分:1)

查看组件的代码,看起来它希望您在此时建立连接时首先发送消息。如果您只是创建了一个消费者,它将无法连接到该网址。

为了解决我的问题,我所做的是向Slack API添加ping消息,启动应用程序。这使端点连接到服务器并开始接收事件。