我使用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只能使用一次。
我想知道是否需要为组件提供其他选项才能工作。
答案 0 :(得分:1)
查看组件的代码,看起来它希望您在此时建立连接时首先发送消息。如果您只是创建了一个消费者,它将无法连接到该网址。
为了解决我的问题,我所做的是向Slack API添加ping消息,启动应用程序。这使端点连接到服务器并开始接收事件。