You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Tammer Salem <ta...@googlemail.com> on 2010/04/13 00:31:39 UTC

AMQ integration with JBoss - Failover to TCP when trying to use VM protocol

Hello All,
I'm having some problems with my AMQ/JBoss integration. I've followed the
guide as specified on the site:
http://activemq.apache.org/integrating-apache-activemq-with-jboss.html

Everything works fine - except when I've come to fire a message (from within
JBoss) I expect it to use the vm:// protocol. Instead I get a failover
message and it tells me that it's using TCP instead.
First off it's great that it can recover from this and still actually send
out a message, but I feel like communicating over TCP/IP within the same VM
is a bit silly.

My question here is if I've defined the vm:// protocol in the ra.xml and my
data source file, does it also need to be configured in the
broker-config.xml as a separate broker?

regards,
Tammer

Re: AMQ integration with JBoss - Failover to TCP when trying to use VM protocol

Posted by Tammer Salem <ta...@googlemail.com>.
I am still having a problem of AMQ going to TCP/IP connectivity
on fail-over even though I have VM protocol enabled. Has anyone seen this
happen?

On 14 April 2010 20:29, Tammer Salem <ta...@googlemail.com> wrote:

> That is the config I have.
> So this is the line from my ra.xml:
>
>         <config-property>
>
>             <description>
>
>               The URL to the ActiveMQ server that you want this connection
>> to connect to.  If using
>
>                an embedded broker, this value should be 'vm://localhost'.
>
>              </description>
>
>             <config-property-name>ServerUrl</config-property-name>
>
>              <config-property-type>java.lang.String</config-property-type>
>
>              <config-property-value>vm://localhost</config-property-value>
>
>          </config-property>
>
>
> Both my connection factories for the queue and topic data sources both
> point to the vm implementation:
>
>    <tx-connection-factory>
>
>       <jndi-name>activemq/QueueConnectionFactory</jndi-name>
>
>       <xa-transaction/>
>
>       <track-connection-by-tx/>
>
>       <rar-name>activemq-ra.rar</rar-name>
>
>
>>  <connection-definition>javax.jms.QueueConnectionFactory</connection-definition>
>
>        <ServerUrl>vm://localhost</ServerUrl>
>
>       <!--
>
>       <UserName>sa</UserName>
>
>       <Password></Password>
>
>       -->
>
>       <min-pool-size>1</min-pool-size>
>
>       <max-pool-size>200</max-pool-size>
>
>       <blocking-timeout-millis>30000</blocking-timeout-millis>
>
>       <idle-timeout-minutes>3</idle-timeout-minutes>
>
>    </tx-connection-factory>
>
>
>>    <tx-connection-factory>
>
>       <jndi-name>activemq/TopicConnectionFactory</jndi-name>
>
>       <xa-transaction/>
>
>       <track-connection-by-tx/>
>
>       <rar-name>activemq-ra.rar</rar-name>
>
>
>>  <connection-definition>javax.jms.TopicConnectionFactory</connection-definition>
>
>        <ServerUrl>vm://localhost</ServerUrl>
>
>       <!--
>
>       <UserName>sa</UserName>
>
>       <Password></Password>
>
>       -->
>
>       <min-pool-size>1</min-pool-size>
>
>       <max-pool-size>200</max-pool-size>
>
>       <blocking-timeout-millis>30000</blocking-timeout-millis>
>
>       <idle-timeout-minutes>3</idle-timeout-minutes>
>
>    </tx-connection-factory>
>
>
> and when I actually send a message I get this line in my log:
>
> INFO  [FailoverTransport] Successfully connected to tcp://localhost:61616
>
>
>
> Anyone have any idea where else I could look?
>
> regards,
> Tammer
>
>
> On 13 April 2010 09:55, Gary Tully <ga...@gmail.com> wrote:
>
>> The vm transport is enabled by default on the broker. To use it from the
>> RAR, you just need to use 'vm://localhost' in the ServerUrl config
>> property
>> in the ra.xml or override it via the appserver config.
>>
>> On 12 April 2010 23:31, Tammer Salem <ta...@googlemail.com> wrote:
>>
>> > Hello All,
>> > I'm having some problems with my AMQ/JBoss integration. I've followed
>> the
>> > guide as specified on the site:
>> > http://activemq.apache.org/integrating-apache-activemq-with-jboss.html
>> >
>> > Everything works fine - except when I've come to fire a message (from
>> > within
>> > JBoss) I expect it to use the vm:// protocol. Instead I get a failover
>> > message and it tells me that it's using TCP instead.
>> > First off it's great that it can recover from this and still actually
>> send
>> > out a message, but I feel like communicating over TCP/IP within the same
>> VM
>> > is a bit silly.
>> >
>> > My question here is if I've defined the vm:// protocol in the ra.xml and
>> my
>> > data source file, does it also need to be configured in the
>> > broker-config.xml as a separate broker?
>> >
>> > regards,
>> > Tammer
>> >
>>
>>
>>
>> --
>> http://blog.garytully.com
>>
>> Open Source Integration
>> http://fusesource.com
>>
>
>

Re: AMQ integration with JBoss - Failover to TCP when trying to use VM protocol

Posted by Tammer Salem <ta...@googlemail.com>.
That is the config I have.
So this is the line from my ra.xml:

        <config-property>

            <description>

              The URL to the ActiveMQ server that you want this connection
> to connect to.  If using

              an embedded broker, this value should be 'vm://localhost'.

            </description>

            <config-property-name>ServerUrl</config-property-name>

            <config-property-type>java.lang.String</config-property-type>

            <config-property-value>vm://localhost</config-property-value>

        </config-property>


Both my connection factories for the queue and topic data sources both point
to the vm implementation:

   <tx-connection-factory>

      <jndi-name>activemq/QueueConnectionFactory</jndi-name>

      <xa-transaction/>

      <track-connection-by-tx/>

      <rar-name>activemq-ra.rar</rar-name>


>  <connection-definition>javax.jms.QueueConnectionFactory</connection-definition>

      <ServerUrl>vm://localhost</ServerUrl>

      <!--

      <UserName>sa</UserName>

      <Password></Password>

      -->

      <min-pool-size>1</min-pool-size>

      <max-pool-size>200</max-pool-size>

      <blocking-timeout-millis>30000</blocking-timeout-millis>

      <idle-timeout-minutes>3</idle-timeout-minutes>

   </tx-connection-factory>


>    <tx-connection-factory>

      <jndi-name>activemq/TopicConnectionFactory</jndi-name>

      <xa-transaction/>

      <track-connection-by-tx/>

      <rar-name>activemq-ra.rar</rar-name>


>  <connection-definition>javax.jms.TopicConnectionFactory</connection-definition>

      <ServerUrl>vm://localhost</ServerUrl>

      <!--

      <UserName>sa</UserName>

      <Password></Password>

      -->

      <min-pool-size>1</min-pool-size>

      <max-pool-size>200</max-pool-size>

      <blocking-timeout-millis>30000</blocking-timeout-millis>

      <idle-timeout-minutes>3</idle-timeout-minutes>

   </tx-connection-factory>


and when I actually send a message I get this line in my log:

INFO  [FailoverTransport] Successfully connected to tcp://localhost:61616



Anyone have any idea where else I could look?

regards,
Tammer


On 13 April 2010 09:55, Gary Tully <ga...@gmail.com> wrote:

> The vm transport is enabled by default on the broker. To use it from the
> RAR, you just need to use 'vm://localhost' in the ServerUrl config property
> in the ra.xml or override it via the appserver config.
>
> On 12 April 2010 23:31, Tammer Salem <ta...@googlemail.com> wrote:
>
> > Hello All,
> > I'm having some problems with my AMQ/JBoss integration. I've followed the
> > guide as specified on the site:
> > http://activemq.apache.org/integrating-apache-activemq-with-jboss.html
> >
> > Everything works fine - except when I've come to fire a message (from
> > within
> > JBoss) I expect it to use the vm:// protocol. Instead I get a failover
> > message and it tells me that it's using TCP instead.
> > First off it's great that it can recover from this and still actually
> send
> > out a message, but I feel like communicating over TCP/IP within the same
> VM
> > is a bit silly.
> >
> > My question here is if I've defined the vm:// protocol in the ra.xml and
> my
> > data source file, does it also need to be configured in the
> > broker-config.xml as a separate broker?
> >
> > regards,
> > Tammer
> >
>
>
>
> --
> http://blog.garytully.com
>
> Open Source Integration
> http://fusesource.com
>

Re: AMQ integration with JBoss - Failover to TCP when trying to use VM protocol

Posted by Gary Tully <ga...@gmail.com>.
The vm transport is enabled by default on the broker. To use it from the
RAR, you just need to use 'vm://localhost' in the ServerUrl config property
in the ra.xml or override it via the appserver config.

On 12 April 2010 23:31, Tammer Salem <ta...@googlemail.com> wrote:

> Hello All,
> I'm having some problems with my AMQ/JBoss integration. I've followed the
> guide as specified on the site:
> http://activemq.apache.org/integrating-apache-activemq-with-jboss.html
>
> Everything works fine - except when I've come to fire a message (from
> within
> JBoss) I expect it to use the vm:// protocol. Instead I get a failover
> message and it tells me that it's using TCP instead.
> First off it's great that it can recover from this and still actually send
> out a message, but I feel like communicating over TCP/IP within the same VM
> is a bit silly.
>
> My question here is if I've defined the vm:// protocol in the ra.xml and my
> data source file, does it also need to be configured in the
> broker-config.xml as a separate broker?
>
> regards,
> Tammer
>



-- 
http://blog.garytully.com

Open Source Integration
http://fusesource.com