To follow up on my last mail: I can perhaps avoid the problem by using distinct brokernames for each webapp; but that would create distinct embedded brokers perhaps? I need both the webapps to share the same broker so they receive messages published by each other.
Regards, /U -------------- Original message ---------------------- From: [EMAIL PROTECTED] > > Hi - > > I am using the embedded broker in a servlet container. Each webapp in the > servlet > container instantiates a connection factory that refers to broker URL of > > vm://localhost?broker.persistent=false > > as follows: > > (Servlet Container > (WebApp1 > ConnectionFactory -> > vm://localhost?broker.persistent=false > ) > ) > > and this works fine. But as soon as I instantiate another webapp (WebApp2) > that > also uses embedded broker as follows: > > (Servlet Container > (WebApp1 > ConnectionFactory -> > vm://localhost?broker.persistent=false > ) > (WebApp2 > ConnectionFactory -> > vm://localhost?broker.persistent=false > ) > ) > > the second webapp fails with the JMSException given below: > > javax.jms.JMSException: Could not create Transport. Reason: > javax.management.InstanceAlreadyExistsException: > org.apache.activemq:BrokerName=localhost,Type=Broker > at > org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:33) > at > org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnection > Factory.java:229) > at > org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQC > onnectionFactory.java:242) > at > org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQC > onnectionFactory.java:211) > at > org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectio > nFactory.java:158) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.createConnecti > on(AbstractMessageListenerContainer.java:989) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.refreshSharedC > onnection(AbstractMessageListenerContainer.java:455) > //... > > > I thought I could (tentatively) work around this problem by disabling Jmx, so > I > switched the > broker URL (for both webapps) to > > vm://localhost?broker.persistent=false&useJmx=false > > This did not help. Is there fundamentally a problem with multiple > instances of ActiveMQConnectionFactory referring to the same broker URL > (which is likely to to be the case when using embedded broker)? > > Thanks, > > /U > > > -------------- Original message ---------------------- > From: Adrian Co <[EMAIL PROTECTED]> > > [EMAIL PROTECTED] wrote: > > > Adrian, > > > > > > Thanks for the note. > > > > > > > > Startup: vm://localhost > > > > > During runtime (after an event): > > > > > failover(vm://localhost,tcp://remote:61616) > > > > > > > > > > Would modifying the broker URL of the connection factory > > > cause > > problems? > > > > > > > > > Personally, I'm not sure if you can I haven't tried it, but I > don't > > > > think it makes sense to make a vm transport failover. The > assumption > > is > > > > that you have a broker running in the same vm as your jms > > > client. > If > > the > > > > broker crashes, it means your client *should* have crashed also > and > > it > > > > can't failover over to a remote broker anymore. > > > > > > Makes sense - now I see why someone else referred to me as 'retard' :-). > > > I need to have the client listen to two different brokers (the embedded > > > and the external) at the same time (so that the client receives messages > > published > > > by both the brokers and the messages published by the client are sent to > both > > the > > > brokers). Is this the correct URI to network the embedded broker with an > > external broker? > > > > > > static:(vm://localhost,tcp://remotehost:61616) > > > > > Hum. AFAIK, static just tells the client to choose one url to connect > > to. I don't think you can listen to two or more brokers using a single > > connection. You might want to network the brokers together if thats > > possible. If someone can let me know if its possible to listen to more > > than two brokers using a single jms connection, I'd appreciate it also. :-) > > > > > > Could you also clarify an additional question? If I instantiate multiple > > > connection factories in the same VM pointing to the embedded broker > > > would all the cconnection factories in the VM share the same broker > > > (as opposed to attempting to "instantiating a new embedded broker" if > > > such a thing were possible)? > > > > > If they are in the same jvm, and there's already an embedded broker, it > > will be reused. > > > Thanks again, > > > > > > /U > > > > > > > > >