3
votes

I have an ubuntu machine, on which

a) a web application (Tomcat, on URL http://myapp.com ) and

b) a message queue broker (ActiveMQ)

are running.

ActiveMQ has a web console, which normally runs on port 8161 (i. e. at http://AAA.BBB.CCC.DDD:8161/admin , where AAA.BBB.CCC.DDD is the IP address of the machine).

Due to firewall restrictions in my office, I cannot access the web console, if it runs on port 8161, 8080 doesn't work, either.

I can, however, access the web console, if I use port 80 (http).

But then I get another problem: When I try to access

http://myapp.com

I am directed to the web console of ActiveMQ.

Question: How can I configure ActiveMQ's so that

a) ActiveMQ web console is available via port 80 on URL like http://AAA.BBB.CCC.DDD/activemq and

b) my web application works as usual on http://myapp.com

?

1

1 Answers

3
votes

To change the contextPath/port, just modify the /activemq/conf/jetty.xml file, like this...

<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>

That being said, it sounds like you have a Tomcat app running on port 80 already. In this case, you'll need to embed the AMQ web console in Tomcat (as a separate app) instead of running it separately via the broker/Jetty. See this page for more information on doing this...