You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Gary Tully <ga...@gmail.com> on 2009/01/19 21:36:27 UTC
Re: embedded broker in Tomcat 6 available to both local vm and external clients
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>.
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
>