Hi AMQ doesn't handle http transport by default, use tcp for instance
*Romain Manni-Bucau* *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* *Github: https://github.com/rmannibucau* 2013/5/10 Kyle Mahan <[email protected]> > I'm hoping for a little advice/guidance/sanity check on the following > problem: > > I have a server running Tomcat which basically just serves a small webpage > and a JNLP (webstart) link. The webstart application connects to a separate > ActiveMQ broker on the same server. This uses the default tcp port 61616. > Note: Once the application has started, nothing else goes through Tomcat > (ie, there are no servlets, etc). > > We are having some firewall trouble with outside users, so I was looking > into the possibility of using the HTTP transport instead, with the hope > that everyone could connect to port 80... Can TomEE+ be used as both the > webserver and ActiveMQ broker? Ideally I would like to run both on port 80 > (is this possible?). If not, the webserver could be 8080 instead. > > So far, I have tried setting conf/tomee.xml to: > > <tomee> > <Resource id="MyJmsResourceAdapter" type="ActiveMQResourceAdapter"> > BrokerXmlConfig = broker:(http://localhost:80) > ServerUrl = vm://localhost > </Resource> > <Resource id="MyJmsConnectionFactory" > type="javax.jms.ConnectionFactory"> > ResourceAdapter = MyJmsResourceAdapter > </Resource> > </tomee> > > which gives me the exception in Tomcat's logs: > > Caused by: java.io.IOException: Transport scheme NOT recognized: [http] > at > > org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27) > at > > org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:196) > at > > org.apache.activemq.transport.TransportFactory.bind(TransportFactory.java:116) > at > > org.apache.activemq.broker.BrokerService.createTransportConnector(BrokerService.java:2249) > at > > org.apache.activemq.broker.BrokerService.addConnector(BrokerService.java:291) > at > > org.apache.activemq.broker.DefaultBrokerFactory.createBroker(DefaultBrokerFactory.java:63) > at > > org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71) > at > > org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54) > at > > org.apache.openejb.resource.activemq.ActiveMQ5Factory.createBroker(ActiveMQ5Factory.java:62) > ... 26 more > Caused by: java.io.IOException: Could not find factory class for resource: > META-INF/services/org/apache/activemq/transport/http > at > > org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.loadProperties(FactoryFinder.java:96) > at > > org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.create(FactoryFinder.java:58) > at > org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:146) > at > > org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:193) > ... 33 more > > > Thanks! > Kyle >
