私はactiveMQを初めて使用します。メッセージを取得/送信するために amq に接続する JavaScript があります。
function init()
{
//AMQ message handler
amq.init({
uri: amqURI,
logging: true,
timeout: amqTimeout,
clientId:amqClientID
});
amq.addListener(amqName, amqTopic, amqHandler);
}
function amqHandler(message)
{
alert("message");
}
function amqSend(content)
{
amq.sendMessage(amqTopic, content);
}
Web ページがキューと同じマシンで提供されている場合 (つまり、URI で localhost:port/amq または machinename:port/amq を使用している場合)、これは正常に機能しますが、別のマシンのキューに接続するとタイムアウトが発生します。
以下を含めるように jetty.xml をセットアップしました。
<bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<property name="host" value="0.0.0.0"/>
<property name="port" value="8161" />
</bean>
および web.xml:
<servlet-mapping>
<servlet-name>AjaxServlet</servlet-name>
<url-pattern>/amq/*</url-pattern>
</servlet-mapping>
私もactivemq.xmlに追加しようとしました:
<transportConnector name="websocket" uri="ws://0.0.0.0:61614"/>
<transportConnector name="nio" uri="nio://0.0.0.0:61616"/>
しかし、まだリモートの activeMQ に接続できません。
ありがとう!