On 3/14/07, Jan Arend Jansen <[EMAIL PROTECTED]> wrote:

James,

Sugestion 1 did the trick. I changed the ra.xml from vm://localhost to
tcp://localhost:61616 and now I just have the embedded broker.


great!

I failed to test your second suggestion with the vm://nameOfYourBroker. Does
this mean the broker-config.xml needs a transportConnector configured like
so?

<transportConnector uri="vm://embedded" discoveryUri="multicast://default"/>


nope.  It means that if you gave your broker a name on the <broker>
element, the vm://brokerName needs to match.


I am wondering what the side-effects of the first action are. Does this mean
that I loose the efficiency of the vm transport, because the tcp network
roundtrip is introduced?


Yes a little bit of overhead is introduced but since it's a local tcp
connection it should still be very quick.  But the vm:// connection
can only work if your client is in the same classloader tree as the
ActiveMQ broker.  Perhaps the problem was that they were in different
classloaders.

Cheers,
Jan Arend


James.Strachan wrote:
>
> On 3/14/07, James Strachan <[EMAIL PROTECTED]> wrote:
>> On 3/11/07, Jan Arend Jansen <[EMAIL PROTECTED]> wrote:
>> >
>> > Hi,
>> >
>> > I've embedded activemq 4.1.0 into jboss 4.0.5 by using the RAR. I've
>> > modified the ra.xml to start an embedded broker. I use EJB3, like so:
>> >
>> > @MessageDriven(
>> >                 name="jms/EventListener",
>> >                 activationConfig =
>> >         {
>> >                 @ActivationConfigProperty(propertyName =
>> "destinationType", propertyValue
>> > = "javax.jms.Topic"),
>> >                 @ActivationConfigProperty(propertyName = "Destination",
>> propertyValue =
>> > "topic.workflow_event"),
>> >                 @ActivationConfigProperty(propertyName =
>> "acknowledgeMode", propertyValue
>> > = "Auto-acknowledge"),
>> >                 @ActivationConfigProperty(propertyName =
>> "subscriptionDurability",
>> > propertyValue = "NonDurable")
>> >         },
>> >         messageListenerInterface=MessageListener.class
>> > )
>> > @ResourceAdapter("activemq-rar-4.1.0-incubator.rar")
>> > public class EventListenerBean implements MessageListener
>> > {
>> >            public void onMessage(Message recvMsg)
>> >            {
>> >               System.out.println("----------------");
>> >               System.out.println("Received message");
>> >               System.out.println("----------------");
>> >            }
>> > }
>> >
>> > Whenever this bean is activated, a second broker (named 'localhost'
>> seams to
>> > be started). The activemq 'list' tool gives the following result:
>> >
>> > ACTIVEMQ_HOME: D:\Java
>> > BrokerName = localhost
>> >
>> > BrokerName = embedded
>> >
>> > Although the configuration works, it bothers me that there are two
>> brokers
>> > active instead of one....is this how it is supposed to be?
>>
>> Sounds like this issue...
>> 
http://activemq.apache.org/the-vm-transport-starts-a-broker-before-my-configured-broker-starts.html
>>
>> switch your RAR configuration to use tcp:// will avoid the
>> vm://localhost broker being auto-started.
>
> Or use vm://theNameOfTheBroker from your activemq.xml file
>
> --
>
> James
> -------
> http://radio.weblogs.com/0112098/
>
>

--
View this message in context: 
http://www.nabble.com/Two-brokers-when-embedding-in-Jboss-tf3385705s2354.html#a9483325
Sent from the ActiveMQ - User mailing list archive at Nabble.com.




--
Regards,
Hiram

Blog: http://hiramchirino.com

Reply via email to