ActiveMQ : Web console URL 内的 jetty

标签 jetty activemq

我有一台 ubuntu 机器,在上面

a) 一个网络应用程序(Tomcat,在 URL http://myapp.com 上)和

b) 消息队列代理 (ActiveMQ)

正在运行。

ActiveMQ 有一个 Web 控制台,它通常在端口 8161 上运行(即在 http://AAA.BBB.CCC.DDD:8161/admin ,其中 AAA.BBB.CCC.DDD 是机器的 IP 地址)。

由于我办公室的防火墙限制,我无法访问 Web 控制台,如果它在端口 8161 上运行,8080 也不起作用。

但是,如果我使用端口 80 (http),我可以访问 Web 控制台。

但随后我遇到了另一个问题:当我尝试访问时

http://myapp.com

我被定向到 ActiveMQ 的 Web 控制台。

问题:如何配置 ActiveMQ 以便

a) ActiveMQ Web 控制台可通过 URL 上的端口 80 访问,如 http://AAA.BBB.CCC.DDD/activemq

b) 我的 Web 应用程序在 http://myapp.com 上照常工作

?

最佳答案

要更改上下文路径/端口,只需修改/activemq/conf/jetty.xml 文件,如下所示...

<bean class="org.eclipse.jetty.webapp.WebAppContext">
    <property name="contextPath" value="/activemq" />
    ...

<bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector">
    <property name="port" value="80" />
</bean>

话虽这么说,听起来您已经在端口 80 上运行了一个 Tomcat 应用程序。在这种情况下,您需要将 AMQ Web 控制台嵌入到 Tomcat 中(作为单独的应用程序),而不是通过代理/Jetty 单独运行它。参见 this page有关执行此操作的更多信息...

关于ActiveMQ : Web console URL 内的 jetty ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7079794/

相关文章:

database - 无法访问 jetty 上的/solr

java - 由于 "Negative seek offset",Cargo Maven 插件无法下载和解压 Jetty zip

java - 为什么在将持久 activemq 消息更改为非持久消息时无法获得性能提升?

java - ActiveMQ 使用 AMQP、MQTT 或 TCP 哪个更好?

ssl - Jetty 配置以禁用所有 SSL 检查

java - Spring Boot with Camel 无法加载应用程序上下文

java - 如何在 Spring 应用程序中配置 jetty 最大 header 大小

java - 在将消息发送到 ActiveMQ 之前对消息进行池化

java - CAMEL JMS 崩溃并停止生成消息

java - 当我尝试删除队列时出现异常,例如 Activemq 中的 InstanceNotFoundException