You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Henri Gomez <he...@gmail.com> on 2009/01/19 10:55:42 UTC
embedded broker in Tomcat 6 available to both local vm and external
clients
Hi to all,
I read carefully the docs about declaring an ActiveMQ in Tomcat :
http://activemq.apache.org/tomcat.html
I need to get ActiveMQ embedded in a webapp and for both in VM clients
but also external clients and want to get the setup in context.xml :
I tried to add in context.xml :
<Resource name="jms/ConnectionFactory" auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory" description="JMS
Connection Factory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="vm://localhost" brokerName="LocalActiveMQBroker"/>
I couldn't see tcp port opend.
<Resource name="jms/ConnectionFactory" auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory" description="JMS
Connection Factory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="tcp://localhost:61616" brokerName="LocalActiveMQBroker"
useEmbeddedBroker="true" />
No more luck.
How could I get it works ?
With both configuration I could see the broker available by adding in
a StartupServlet :
try {
InitialContext initCtx = new InitialContext();
Context envContext = (Context) initCtx.lookup("java:comp/env");
ConnectionFactory connectionFactory = (ConnectionFactory)
envContext.lookup("jms/ConnectionFactory");
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer((Destination)
envContext.lookup("jms/topic/MyTopic"));
Message testMessage = session.createMessage();
testMessage.setStringProperty("testKey", "testValue");
producer.send(testMessage);
} catch (NamingException ne) {
System.err.println("NamingException: " + ne);
} catch (JMSException jmse) {
System.err.println("NamingException: " + jmse);
}
My question is :
How could we get Tomcat 6 start an ActiveMQ in embedded mode with
opened connections to outside clients.
Regards
Re: embedded broker in Tomcat 6 available to both local vm and
external clients
Posted by Henri Gomez <he...@gmail.com>.
Great
Thanks !
2009/1/19 Gary Tully <ga...@gmail.com>:
> the vm protocol handler supports an embedded broker: scheme where the
> broker configuration uri syntax can be used:
>
> Something like: vm:broker:(tcp://localhost:61616)?persistent=false
>
> see: http://activemq.apache.org/vm-transport-reference.html#VMTransportReference-AdvancedBrokerConfigurationSyntax
>
>
>
> 2009/1/19 Henri Gomez <he...@gmail.com>:
>> Under debug I could see in the ConnectionFactory :
>>
>> brokerUrl = vm://localhost?broker.persistent=false,tcp://localhost:61616
>>
>> I wonder why the TCP port is not opened ;(
>>
>>
>> 2009/1/19 Henri Gomez <he...@gmail.com>:
>>> Hi to all,
>>>
>>> I read carefully the docs about declaring an ActiveMQ in Tomcat :
>>>
>>> http://activemq.apache.org/tomcat.html
>>>
>>> I need to get ActiveMQ embedded in a webapp and for both in VM clients
>>> but also external clients and want to get the setup in context.xml :
>>>
>>> I tried to add in context.xml :
>>>
>>> <Resource name="jms/ConnectionFactory" auth="Container"
>>> type="org.apache.activemq.ActiveMQConnectionFactory" description="JMS
>>> Connection Factory"
>>> factory="org.apache.activemq.jndi.JNDIReferenceFactory"
>>> brokerURL="vm://localhost" brokerName="LocalActiveMQBroker"/>
>>>
>>>
>>> I couldn't see tcp port opend.
>>>
>>> <Resource name="jms/ConnectionFactory" auth="Container"
>>> type="org.apache.activemq.ActiveMQConnectionFactory" description="JMS
>>> Connection Factory"
>>> factory="org.apache.activemq.jndi.JNDIReferenceFactory"
>>> brokerURL="tcp://localhost:61616" brokerName="LocalActiveMQBroker"
>>> useEmbeddedBroker="true" />
>>>
>>> No more luck.
>>>
>>> How could I get it works ?
>>>
>>> With both configuration I could see the broker available by adding in
>>> a StartupServlet :
>>>
>>> try {
>>> InitialContext initCtx = new InitialContext();
>>> Context envContext = (Context) initCtx.lookup("java:comp/env");
>>> ConnectionFactory connectionFactory = (ConnectionFactory)
>>> envContext.lookup("jms/ConnectionFactory");
>>> Connection connection = connectionFactory.createConnection();
>>> Session session = connection.createSession(false,
>>> Session.AUTO_ACKNOWLEDGE);
>>> MessageProducer producer = session.createProducer((Destination)
>>> envContext.lookup("jms/topic/MyTopic"));
>>>
>>> Message testMessage = session.createMessage();
>>> testMessage.setStringProperty("testKey", "testValue");
>>> producer.send(testMessage);
>>> } catch (NamingException ne) {
>>> System.err.println("NamingException: " + ne);
>>> } catch (JMSException jmse) {
>>> System.err.println("NamingException: " + jmse);
>>> }
>>>
>>> My question is :
>>>
>>> How could we get Tomcat 6 start an ActiveMQ in embedded mode with
>>> opened connections to outside clients.
>>>
>>> Regards
>>>
>>
>
>
>
> --
> http://blog.garytully.com
>
> Open Source SOA
> http://FUSESource.com
>
Re: embedded broker in Tomcat 6 available to both local vm and external clients
Posted by Gary Tully <ga...@gmail.com>.
the vm protocol handler supports an embedded broker: scheme where the
broker configuration uri syntax can be used:
Something like: vm:broker:(tcp://localhost:61616)?persistent=false
see: http://activemq.apache.org/vm-transport-reference.html#VMTransportReference-AdvancedBrokerConfigurationSyntax
2009/1/19 Henri Gomez <he...@gmail.com>:
> Under debug I could see in the ConnectionFactory :
>
> brokerUrl = vm://localhost?broker.persistent=false,tcp://localhost:61616
>
> I wonder why the TCP port is not opened ;(
>
>
> 2009/1/19 Henri Gomez <he...@gmail.com>:
>> Hi to all,
>>
>> I read carefully the docs about declaring an ActiveMQ in Tomcat :
>>
>> http://activemq.apache.org/tomcat.html
>>
>> I need to get ActiveMQ embedded in a webapp and for both in VM clients
>> but also external clients and want to get the setup in context.xml :
>>
>> I tried to add in context.xml :
>>
>> <Resource name="jms/ConnectionFactory" auth="Container"
>> type="org.apache.activemq.ActiveMQConnectionFactory" description="JMS
>> Connection Factory"
>> factory="org.apache.activemq.jndi.JNDIReferenceFactory"
>> brokerURL="vm://localhost" brokerName="LocalActiveMQBroker"/>
>>
>>
>> I couldn't see tcp port opend.
>>
>> <Resource name="jms/ConnectionFactory" auth="Container"
>> type="org.apache.activemq.ActiveMQConnectionFactory" description="JMS
>> Connection Factory"
>> factory="org.apache.activemq.jndi.JNDIReferenceFactory"
>> brokerURL="tcp://localhost:61616" brokerName="LocalActiveMQBroker"
>> useEmbeddedBroker="true" />
>>
>> No more luck.
>>
>> How could I get it works ?
>>
>> With both configuration I could see the broker available by adding in
>> a StartupServlet :
>>
>> try {
>> InitialContext initCtx = new InitialContext();
>> Context envContext = (Context) initCtx.lookup("java:comp/env");
>> ConnectionFactory connectionFactory = (ConnectionFactory)
>> envContext.lookup("jms/ConnectionFactory");
>> Connection connection = connectionFactory.createConnection();
>> Session session = connection.createSession(false,
>> Session.AUTO_ACKNOWLEDGE);
>> MessageProducer producer = session.createProducer((Destination)
>> envContext.lookup("jms/topic/MyTopic"));
>>
>> Message testMessage = session.createMessage();
>> testMessage.setStringProperty("testKey", "testValue");
>> producer.send(testMessage);
>> } catch (NamingException ne) {
>> System.err.println("NamingException: " + ne);
>> } catch (JMSException jmse) {
>> System.err.println("NamingException: " + jmse);
>> }
>>
>> My question is :
>>
>> How could we get Tomcat 6 start an ActiveMQ in embedded mode with
>> opened connections to outside clients.
>>
>> Regards
>>
>
--
http://blog.garytully.com
Open Source SOA
http://FUSESource.com
Re: embedded broker in Tomcat 6 available to both local vm and
external clients
Posted by Henri Gomez <he...@gmail.com>.
Under debug I could see in the ConnectionFactory :
brokerUrl = vm://localhost?broker.persistent=false,tcp://localhost:61616
I wonder why the TCP port is not opened ;(
2009/1/19 Henri Gomez <he...@gmail.com>:
> Hi to all,
>
> I read carefully the docs about declaring an ActiveMQ in Tomcat :
>
> http://activemq.apache.org/tomcat.html
>
> I need to get ActiveMQ embedded in a webapp and for both in VM clients
> but also external clients and want to get the setup in context.xml :
>
> I tried to add in context.xml :
>
> <Resource name="jms/ConnectionFactory" auth="Container"
> type="org.apache.activemq.ActiveMQConnectionFactory" description="JMS
> Connection Factory"
> factory="org.apache.activemq.jndi.JNDIReferenceFactory"
> brokerURL="vm://localhost" brokerName="LocalActiveMQBroker"/>
>
>
> I couldn't see tcp port opend.
>
> <Resource name="jms/ConnectionFactory" auth="Container"
> type="org.apache.activemq.ActiveMQConnectionFactory" description="JMS
> Connection Factory"
> factory="org.apache.activemq.jndi.JNDIReferenceFactory"
> brokerURL="tcp://localhost:61616" brokerName="LocalActiveMQBroker"
> useEmbeddedBroker="true" />
>
> No more luck.
>
> How could I get it works ?
>
> With both configuration I could see the broker available by adding in
> a StartupServlet :
>
> try {
> InitialContext initCtx = new InitialContext();
> Context envContext = (Context) initCtx.lookup("java:comp/env");
> ConnectionFactory connectionFactory = (ConnectionFactory)
> envContext.lookup("jms/ConnectionFactory");
> Connection connection = connectionFactory.createConnection();
> Session session = connection.createSession(false,
> Session.AUTO_ACKNOWLEDGE);
> MessageProducer producer = session.createProducer((Destination)
> envContext.lookup("jms/topic/MyTopic"));
>
> Message testMessage = session.createMessage();
> testMessage.setStringProperty("testKey", "testValue");
> producer.send(testMessage);
> } catch (NamingException ne) {
> System.err.println("NamingException: " + ne);
> } catch (JMSException jmse) {
> System.err.println("NamingException: " + jmse);
> }
>
> My question is :
>
> How could we get Tomcat 6 start an ActiveMQ in embedded mode with
> opened connections to outside clients.
>
> Regards
>