1

我在 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 只能使用一次。

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

4

1 回答 1

1

查看组件的代码,它似乎希望您在当时建立连接时首先发送一条消息。如果您只是创建消费者,它将不会连接到 URL。

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

于 2015-06-18T17:55:38.553 回答