【发布时间】:2015-10-19 23:07:17
【问题描述】:
我有一个用于与 Weblogic JMS 服务器交互的 java 对象。我希望能够从 JMS 获取这些消息并在 clojure 中使用它们。以我有限的知识,我认为最好的方法是通过 clojure 异步库中的通道。但我不确定是否可以从 Java 对象发布到 clojure 通道。
我的理想流程是:
- Java 对象从 JMS 订阅接收消息
- Java 将消息发布到通道
- Clojure 有一个线程正在侦听该通道并接收 留言
- 一旦收到来自 clojure 的消息,我就会处理该消息 频道。
我还需要确保这些消息的接收顺序与我从 Java 接收它们的顺序相同。
有没有办法使用异步库通道在 java 对象中工作,还是我用这种方法找错了树?
【问题讨论】:
-
为什么不使用 Clojure 而不是 Java 来实现 1+2?此外,您可以尝试换个方向思考:将 JMS 视为 core.async 通道。请参阅nvbn.github.io/2015/04/04/redis-core-async,其中有人使用 Redis 命令来实现 core.async 原语。
标签: java clojure interop channel