我使用node.js制作了一个web服务器,现在在我的客户端(我用java脚本制作),当用户点击发送按钮而不是发布请求(XMLHttpRequest)时,我想将数据发送到JMS队列。我怎样才能在javascript中实现它。
答案 0 :(得分:2)
JMS是一个仅限Java的API。除非你真的在java(Rhino或其他)之上运行JS,否则没有办法让JavaScript实现Java-API。但这似乎并非如此。
理论上 - 可以实现C++ wrapper using JNI与可以使用JMS的java类进行对话。然后,该包装器必须适应Node / V8扩展..嗯,这是一个很容易出错的工作。 不要这样。
解决方案不是使用JMS。大多数JMS实现(ActiveMQ,IBM WebSphere MQ等)通常有多种方式与之通信。通常有一个C / C ++客户端可以被Node.js扩展使用。
JMS代理通常也支持标准化的线程协议,可以与现有的Node.js扩展一起使用。 AMQP 1.0,MQTT,STOMP。此外,许多消息代理都有可能(插件或类似)通过HTTP接受消息。
因此,请探索您的JMS实现有哪些可能的通信方法。
作为一个后备解决方案,只需编写一个小型java程序,该程序可以监听HTTP并生成可以从Node.js应用程序调用的JMS消息。