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

Reply via email to