On Sat, Oct 1, 2011 at 12:06 AM, Marcelo Jabali <[email protected]> wrote:
> Mohit,
>
> ActiveMQ has several transport protocols available (connection URLs for a 
> client to connect to a broker).
> TCP - is used when clients connect to the broker using a TCP socket. VM - is 
> used when you are embedding the broker in your app (client and broker running 
> on the same JVM) and you want to take the performance benefits of connecting 
> the clients to the broker without hitting the network layer. Everything goes 
> through in-memory buffers.
>
> Hope this helps,

That I understand but still not clear about why broker and the factor
are different? Why would broker listen on tcp if client is using vm
call?

<amq:broker id="BridgeBroker" useJmx="true" persistent="false">

   <amq:transportConnectors>
     <amq:transportConnector uri="tcp://localhost:0" />
   </amq:transportConnectors>
 </amq:broker>


 <!-- JMS ConnectionFactory to use, configuring the embedded broker
using XML -->

 <amq:connectionFactory id="BridgeJmsFactory" brokerURL="vm://bridgehost"/>

>
> -Marcelo
>
>
> On Sep 28, 2011, at 4:18 PM, Mohit Anchlia wrote:
>
>> On Wed, Sep 28, 2011 at 3:33 PM, Timothy Bish <[email protected]> wrote:
>>> On Wed, 2011-09-28 at 14:05 -0700, Mohit Anchlia wrote:
>>>> I have this config. Trying to understand few things:
>>>>
>>>> 1. what's the different between uri="tcp://localhost:0" and
>>>> brokerURL="vm://localhost" ?
>>>> 2. In point 1 why are both not tcp?
>>>> 3. what is :0? That doesn't look like a port to me. Is this specifial
>>>> for embedded broker?
>>>>
>>>>
>>>>
>>>>  <amq:broker useJmx="false" persistent="false">
>>>>     <amq:transportConnectors>
>>>>       <amq:transportConnector uri="tcp://localhost:0" />
>>>>     </amq:transportConnectors>
>>>>   </amq:broker>
>>>>
>>>>    <!--  ActiveMQ destinations to use  -->
>>>>   <amq:queue id="destination"
>>>> physicalName="org.apache.activemq.spring.Test.spring.embedded"/>
>>>>
>>>>   <!-- JMS ConnectionFactory to use, configuring the embedded broker
>>>> using XML -->
>>>>   <amq:connectionFactory id="jmsFactory" brokerURL="vm://localhost"/>
>>>
>>> Have a look at the Version 5 Transports page for info on the various
>>> transports.
>>> http://activemq.apache.org/configuring-version-5-transports.html
>>>
>>> For the TCP transport setting the port to zero means that you want the
>>> broker to pick an open TCP port.  Normally you wouldn't do this in the
>>> configuration since will change every time you start the broker, this is
>>> more useful for unit tests where you want to ensure you get an open
>>> port.
>>>
>>>
>>
>> I couldn't get answer to my point 1 and 2
>>
>> 1. what's the different between uri="tcp://localhost:0" and
>> brokerURL="vm://localhost" ?
>>
>>  <amq:broker id="BridgeBroker" useJmx="true" persistent="false">
>>    <amq:transportConnectors>
>>      <amq:transportConnector uri="tcp://localhost:0" />
>>    </amq:transportConnectors>
>>  </amq:broker>
>>
>>  <!-- JMS ConnectionFactory to use, configuring the embedded broker
>> using XML -->
>>  <amq:connectionFactory id="BridgeJmsFactory" brokerURL="vm://bridgehost"/>
>>
>> 2. In point 1 why are both not tcp?
>>
>> 3. And in point 1 how is broker getting associated with the
>> connectionfactory since url is different?
>>
>>
>>> Regards
>>>
>>>
>>>
>>> --
>>> Tim Bish
>>> ------------
>>> FuseSource
>>> Email: [email protected]
>>> Web: http://fusesource.com
>>> Twitter: tabish121
>>> Blog: http://timbish.blogspot.com/
>>>
>>>
>>>
>>>
>
>
>
>
>
>
>

Reply via email to