You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by agrabil <gr...@ins.com> on 2006/07/06 16:48:50 UTC

JMS to JMS Bridge

Hello,
I am having some problems getting the JMS to JMS Bridge feature working with
ActiveMQ 4.0 and JDK 1.5.  If I understand this functionality, I should be
able to post messages to and ActiveMQ queue that get automatically posted to
a queue on another JMS provider.  In my tests, I can't seem to get this to
work.  Am I missing something obvious about this functionality?  Has anyone
had success with this kind of configuration?

Thanks for any assistance,
Greg
-- 
View this message in context: http://www.nabble.com/JMS-to-JMS-Bridge-tf1901141.html#a5201128
Sent from the ActiveMQ - User forum at Nabble.com.


Re: JMS to JMS Bridge

Posted by Tom Purcell <tp...@chariotsolutions.com>.
James

Thanks for the suggestion. I downloaded both 4.0.1 and 4.1 snaphot this
morning. With 4.0.1 I got the exact same result. With the 4.1 snapshot I got
an exception complaining about the namesapce. I tried it both with the
activemq.xml that comes with the distribution and my version with the bridge
definition and I got the same stack trace in each situation. That trace is
below.

Thanks
Tom

2006-07-12 10:48:08,296 [main           ] DEBUG
anBeanDefinitionDocumentReader - Loading bean definitions
2006-07-12 10:48:08,359 [main           ] DEBUG
anBeanDefinitionParserDelegate - Neither XML 'id' nor 'name' specified -
 using generated bean name
[org.springframework.beans.factory.config.PropertyPlaceholderConfigurer]
ERROR: java.lang.RuntimeException: Failed to execute start task. Reason:
org.springframework.beans.factory.BeanDefinitio
nStoreException: Unexpected exception parsing XML document from class path
resource [activemq.xml]; nested exception is
java.lang.IllegalArgumentException: Unable to locate NamespaceHandler for
namespace URI [http://activemq.org/config/1.0]

java.lang.RuntimeException: Failed to execute start task. Reason:
org.springframework.beans.factory.BeanDefinitionStoreE
xception: Unexpected exception parsing XML document from class path resource
[activemq.xml]; nested exception is java.la
ng.IllegalArgumentException: Unable to locate NamespaceHandler for namespace
URI [http://activemq.org/config/1.0]
        at
org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:69)
        at
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:49)
        at
org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:64)
        at
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:49)
        at
org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:45)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.activemq.console.Main.runTaskClass(Main.java:135)
        at org.apache.activemq.console.Main.main(Main.java:67)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException:
Unexpected exception parsing XML document fro
m class path resource [activemq.xml]; nested exception is
java.lang.IllegalArgumentException: Unable to locate Namespace
Handler for namespace URI [http://activemq.org/config/1.0]
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.j
ava:403)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.jav
a:340)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.jav
a:315)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini
tionReader.java:126)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini
tionReader.java:142)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini
tionReader.java:168)
        at
org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationC
ontext.java:113)
        at
org.apache.xbean.spring.context.ClassPathXmlApplicationContext.loadBeanDefinitions(ClassPathXmlApplicationCon
text.java:181)
        at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefresha
bleApplicationContext.java:89)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:278)
        at
org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:162
)
        at
org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:52)

        at
org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:40)
        at
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:56)
        at
org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:81)
        at
org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:46)
        ... 10 more
Caused by: java.lang.IllegalArgumentException: Unable to locate
NamespaceHandler for namespace URI [http://activemq.org/
config/1.0]
        at
org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.resolve(DefaultNamespaceHandlerResolver
.java:141)
        at
org.apache.xbean.spring.context.v2.XBeanNamespaceHandlerResolver.resolve(XBeanNamespaceHandlerResolver.java:3
0)
        at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDel
egate.java:1077)
        at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDef
initionDocumentReader.java:140)
        at
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseBeanDefinitions(XBeanBeanDefinition
DocumentReader.java:39)
        at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBean
DefinitionDocumentReader.java:93)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader
.java:486)
        at
org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitio
nReader.java:77)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.j
ava:386)
        ... 25 more
ERROR: java.lang.Exception:
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected
exception parsing
 XML document from class path resource [activemq.xml]; nested exception is
java.lang.IllegalArgumentException: Unable to
 locate NamespaceHandler for namespace URI [http://activemq.org/config/1.0]
java.lang.Exception:
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected
exception parsing XML do
cument from class path resource [activemq.xml]; nested exception is
java.lang.IllegalArgumentException: Unable to locate
 NamespaceHandler for namespace URI [http://activemq.org/config/1.0]
        at
org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:70)
        at
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:49)
        at
org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:64)
        at
org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:49)
        at
org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:45)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.activemq.console.Main.runTaskClass(Main.java:135)
        at org.apache.activemq.console.Main.main(Main.java:67)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException:
Unexpected exception parsing XML document fro
m class path resource [activemq.xml]; nested exception is
java.lang.IllegalArgumentException: Unable to locate Namespace
Handler for namespace URI [http://activemq.org/config/1.0]
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.j
ava:403)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.jav
a:340)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.jav
a:315)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini
tionReader.java:126)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini
tionReader.java:142)
        at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefini
tionReader.java:168)
        at
org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationC
ontext.java:113)
        at
org.apache.xbean.spring.context.ClassPathXmlApplicationContext.loadBeanDefinitions(ClassPathXmlApplicationCon
text.java:181)
        at
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefresha
bleApplicationContext.java:89)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:278)
        at
org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:162
)
        at
org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:52)

        at
org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:40)
        at
org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:56)
        at
org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:81)
        at
org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:46)
        ... 10 more
Caused by: java.lang.IllegalArgumentException: Unable to locate
NamespaceHandler for namespace URI [http://activemq.org/
config/1.0]
        at
org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver.resolve(DefaultNamespaceHandlerResolver
.java:141)
        at
org.apache.xbean.spring.context.v2.XBeanNamespaceHandlerResolver.resolve(XBeanNamespaceHandlerResolver.java:3
0)
        at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDel
egate.java:1077)
        at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDef
initionDocumentReader.java:140)
        at
org.apache.xbean.spring.context.v2.XBeanBeanDefinitionDocumentReader.parseBeanDefinitions(XBeanBeanDefinition
DocumentReader.java:39)
        at
org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBean
DefinitionDocumentReader.java:93)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader
.java:486)
        at
org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitio
nReader.java:77)
        at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.j
ava:386)
        ... 25 more
-- 
View this message in context: http://www.nabble.com/JMS-to-JMS-Bridge-tf1901141.html#a5290158
Sent from the ActiveMQ - User forum at Nabble.com.


Re: JMS to JMS Bridge

Posted by James Strachan <ja...@gmail.com>.
I cant remember which version supported the <jmsQueueConnector> XMl
syntax I'm afraid; it might have not been in 4.0; I wonder does trying
4.0.1 or 4.1-SNAPSHOT help at all?

On 7/11/06, Tom Purcell <tp...@chariotsolutions.com> wrote:
>
> Hello
>
> Hope you don't mind me barging in but I'm trying to do almost the same
> thing. I am trying to bridge from Weblogic 8.1 (WLS) to ActiveMQ 4.0. When I
> start ActiveMQ I get all the typical Spring type initialization messages and
> then the following message:
>
> INFO  JmsConnector                   - JMS Connector
> JreportRequestBridge-Inbound Started
>
> So it appears all is cool but when I send a message nothing seems to happen.
> On the WLS side I can see the the message has been produced but I get no
> reaction on the ActiveMQ side. My activemq.xml configuration file is below.
> Any thoughts would be appreciated.
>
> Thanks
> Tom
>
> <beans xmlns="http://activemq.org/config/1.0">
>
>   <broker useJmx="true">
>
>     <persistenceAdapter>
>       <journaledJDBC journalLogFiles="5" dataDirectory="../activemq-data"/>
>     </persistenceAdapter>
>
>     <transportConnectors>
>        <transportConnector name="default" uri="tcp://localhost:61616"
> discoveryUri="multicast://default"/>
>        <transportConnector name="stomp"   uri="stomp://localhost:61613"/>
>     </transportConnectors>
>
>     <networkConnectors>
>       <networkConnector name="default" uri="multicast://default"/>
>     </networkConnectors>
>
>     <jmsBridgeConnectors>
>      <jmsQueueConnector name="JreportRequestBridge-Inbound"
>         outboundQueueConnectionFactory="#remoteFactory"
>         outboundUsername="user"
>         outboundPassword="password"
>         localQueueConnectionFactory="#localFactory">
>         <inboundQueueBridges>
>           <inboundQueueBridge inboundQueueName="jms/queue/jreport/request"
>              consumerQueue="#localQueue"/>
>         </inboundQueueBridges>
>       </jmsQueueConnector>
>     </jmsBridgeConnectors>
>
>   </broker>
>
>   <bean id="remoteFactory"
>     class="org.apache.activemq.ActiveMQConnectionFactory">
>     <properties>
>        <property name="java.naming.factory.initial"
> value="weblogic.jndi.WLInitialContextFactory"/>
>        <property name="java.naming.provider.url"
> value="t3://nnn.nnn.nnn.nnn:7001"/>
>     </properties>
>   </bean>
>
>   <bean id="localFactory"
>     class="org.apache.activemq.ActiveMQConnectionFactory">
>     <property name="brokerURL" value="tcp://localhost:61616" />
>   </bean>
>
>   <bean id="localQueue" class="org.apache.activemq.command.ActiveMQQueue">
>     <constructor-arg value="dynamic/jms.queue.jreport.request"/>
>   </bean>
>
> </beans>
>
>
> --
> View this message in context: http://www.nabble.com/JMS-to-JMS-Bridge-tf1901141.html#a5276953
> Sent from the ActiveMQ - User forum at Nabble.com.
>
>


-- 

James
-------
http://radio.weblogs.com/0112098/

Re: JMS to JMS Bridge

Posted by Tom Purcell <tp...@chariotsolutions.com>.
Hello

Hope you don't mind me barging in but I'm trying to do almost the same
thing. I am trying to bridge from Weblogic 8.1 (WLS) to ActiveMQ 4.0. When I
start ActiveMQ I get all the typical Spring type initialization messages and
then the following message:

INFO  JmsConnector                   - JMS Connector
JreportRequestBridge-Inbound Started

So it appears all is cool but when I send a message nothing seems to happen.
On the WLS side I can see the the message has been produced but I get no
reaction on the ActiveMQ side. My activemq.xml configuration file is below.
Any thoughts would be appreciated.

Thanks
Tom

<beans xmlns="http://activemq.org/config/1.0">
 
  <broker useJmx="true">
  
    <persistenceAdapter>
      <journaledJDBC journalLogFiles="5" dataDirectory="../activemq-data"/>
    </persistenceAdapter>
  
    <transportConnectors>
       <transportConnector name="default" uri="tcp://localhost:61616"
discoveryUri="multicast://default"/>
       <transportConnector name="stomp"   uri="stomp://localhost:61613"/>
    </transportConnectors>
    
    <networkConnectors>
      <networkConnector name="default" uri="multicast://default"/>
    </networkConnectors>
    
    <jmsBridgeConnectors>
     <jmsQueueConnector name="JreportRequestBridge-Inbound"
        outboundQueueConnectionFactory="#remoteFactory"
        outboundUsername="user"
        outboundPassword="password"
        localQueueConnectionFactory="#localFactory">
        <inboundQueueBridges>
          <inboundQueueBridge inboundQueueName="jms/queue/jreport/request"
	     consumerQueue="#localQueue"/>
        </inboundQueueBridges>
      </jmsQueueConnector>
    </jmsBridgeConnectors>

  </broker>

  <bean id="remoteFactory"
    class="org.apache.activemq.ActiveMQConnectionFactory">
    <properties>
       <property name="java.naming.factory.initial"
value="weblogic.jndi.WLInitialContextFactory"/>
       <property name="java.naming.provider.url"
value="t3://nnn.nnn.nnn.nnn:7001"/>
    </properties>
  </bean>

  <bean id="localFactory"
    class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL" value="tcp://localhost:61616" />
  </bean>
 
  <bean id="localQueue" class="org.apache.activemq.command.ActiveMQQueue">
    <constructor-arg value="dynamic/jms.queue.jreport.request"/>
  </bean> 
  
</beans>
 

-- 
View this message in context: http://www.nabble.com/JMS-to-JMS-Bridge-tf1901141.html#a5276953
Sent from the ActiveMQ - User forum at Nabble.com.


Re: JMS to JMS Bridge

Posted by agrabil <gr...@ins.com>.
Yes, messages are being sent to MyQueue, as the following log snippet shows:

2006-07-06 16:05:29,252 [/127.0.0.1:1590] DEBUG JournalMessageStore
 - Journalled message add for: ID:rabil-g-xp-1589-1152216176532-1:0:1:1:1,
 at: 0:14847


Also, I am able to view the messages with the browse tool.

Thank you,
Greg
-- 
View this message in context: http://www.nabble.com/JMS-to-JMS-Bridge-tf1901141.html#a5253991
Sent from the ActiveMQ - User forum at Nabble.com.


Re: JMS to JMS Bridge

Posted by James Strachan <ja...@gmail.com>.
Are you sending any messages to MyQueue?

On 7/6/06, agrabil <gr...@ins.com> wrote:
>
> Thank you.  So, I've added the consumerQueue attribute as you suggested:
>
>    <broker useJmx="true">
>
>      <persistenceAdapter>
>        <journaledJDBC journalLogFiles="5" dataDirectory="../activemq-
>  data"/>
>      </persistenceAdapter>
>
>      <transportConnectors>
>         <transportConnector name="default" uri="tcp://localhost:61616"
>  discoveryUri="multicast://default"/>
>         <transportConnector name="stomp"   uri="stomp://localhost:
>  61613"/>
>      </transportConnectors>
>
>      <networkConnectors>
>        <!-- by default just auto discover the other brokers -->
>        <networkConnector name="default" uri="multicast://default"/>
>      </networkConnectors>
>
>      <jmsBridgeConnectors>
>         <jmsQueueConnector
>  outboundQueueConnectionFactory="#remoteFactory"
>  consumerQueue="#localQueue">
>             <outboundQueueBridges>
>                  <outboundQueueBridge
>  outboundQueueName="MyQueue@router">
>                  </outboundQueueBridge>
>             </outboundQueueBridges>
>         </jmsQueueConnector>
>      </jmsBridgeConnectors>
>
>    </broker>
>
>    <bean id="remoteFactory"
>  class="com.swiftmq.jms.ConnectionFactoryImpl">
>            <constructor-arg
>  value="com.swiftmq.net.PlainSocketFactory"/>
>            <constructor-arg value="localhost"/>
>            <constructor-arg value="4001"/>
>            <constructor-arg value="60000"/>
>    </bean>
>
>  <bean id="localQueue" class="org.apache.activemq.command.ActiveMQQueue">
>     <constructor-arg value="MyQueue"/>
>  </bean>
>
>
> With this configuration, I still don't see messages on the SwiftMQ queue.
> Here is the activemq.log output from when the message is posted to ActiveMQ:
>
> 2006-07-06 16:05:29,132 [/127.0.0.1:1590] DEBUG AbstractRegion
> - Adding destination: queue://AgentScheduleQueue
> 2006-07-06 16:05:29,142 [/127.0.0.1:1590] DEBUG JournalPersistenceAdapter
> - Waking for checkpoint to complete.
> 2006-07-06 16:05:29,142 [eckpoint Worker] DEBUG JournalPersistenceAdapter
> - Checkpoint started.
> 2006-07-06 16:05:29,152 [eckpoint Worker] DEBUG JournalPersistenceAdapter
> - Checkpoint done.
> 2006-07-06 16:05:29,202 [/127.0.0.1:1590] DEBUG AbstractRegion
> - Adding destination: topic://ActiveMQ.Advisory.Queue
> 2006-07-06 16:05:29,252 [/127.0.0.1:1590] DEBUG JournalMessageStore
> - Journalled message add for: ID:rabil-g-xp-1589-1152216176532-1:0:1:1:1,
> at: 0:14847
> 2006-07-06 16:05:29,252 [/127.0.0.1:1590] DEBUG MyQueue
> - No subscriptions registered, will not dispatch message at this time.
>
>
> From this, it appears that it doesn't think there are any
> consumers/subscribers for for the ActiveMQ "MyQueue" queue.  Does the
> activemq.xml configuration above look correct, or have I missed something?
>
> Thank you very much for your assistance,
> Greg
>
> --
> View this message in context: http://www.nabble.com/JMS-to-JMS-Bridge-tf1901141.html#a5206829
> Sent from the ActiveMQ - User forum at Nabble.com.
>
>


-- 

James
-------
http://radio.weblogs.com/0112098/

Re: JMS to JMS Bridge

Posted by agrabil <gr...@ins.com>.
Thank you.  So, I've added the consumerQueue attribute as you suggested:

   <broker useJmx="true">

     <persistenceAdapter>
       <journaledJDBC journalLogFiles="5" dataDirectory="../activemq-
 data"/>
     </persistenceAdapter>

     <transportConnectors>
        <transportConnector name="default" uri="tcp://localhost:61616"
 discoveryUri="multicast://default"/>
        <transportConnector name="stomp"   uri="stomp://localhost:
 61613"/>
     </transportConnectors>

     <networkConnectors>
       <!-- by default just auto discover the other brokers -->
       <networkConnector name="default" uri="multicast://default"/>
     </networkConnectors>

     <jmsBridgeConnectors>
        <jmsQueueConnector  
 outboundQueueConnectionFactory="#remoteFactory"
 consumerQueue="#localQueue">
            <outboundQueueBridges>
                 <outboundQueueBridge  
 outboundQueueName="MyQueue@router">
                 </outboundQueueBridge>
            </outboundQueueBridges>
        </jmsQueueConnector>
     </jmsBridgeConnectors>

   </broker>

   <bean id="remoteFactory"  
 class="com.swiftmq.jms.ConnectionFactoryImpl">
           <constructor-arg  
 value="com.swiftmq.net.PlainSocketFactory"/>
           <constructor-arg value="localhost"/>
           <constructor-arg value="4001"/>
           <constructor-arg value="60000"/>
   </bean>

 <bean id="localQueue" class="org.apache.activemq.command.ActiveMQQueue">
    <constructor-arg value="MyQueue"/>
 </bean>
 

With this configuration, I still don't see messages on the SwiftMQ queue. 
Here is the activemq.log output from when the message is posted to ActiveMQ:

2006-07-06 16:05:29,132 [/127.0.0.1:1590] DEBUG AbstractRegion                
- Adding destination: queue://AgentScheduleQueue
2006-07-06 16:05:29,142 [/127.0.0.1:1590] DEBUG JournalPersistenceAdapter     
- Waking for checkpoint to complete.
2006-07-06 16:05:29,142 [eckpoint Worker] DEBUG JournalPersistenceAdapter     
- Checkpoint started.
2006-07-06 16:05:29,152 [eckpoint Worker] DEBUG JournalPersistenceAdapter     
- Checkpoint done.
2006-07-06 16:05:29,202 [/127.0.0.1:1590] DEBUG AbstractRegion                
- Adding destination: topic://ActiveMQ.Advisory.Queue
2006-07-06 16:05:29,252 [/127.0.0.1:1590] DEBUG JournalMessageStore           
- Journalled message add for: ID:rabil-g-xp-1589-1152216176532-1:0:1:1:1,
at: 0:14847
2006-07-06 16:05:29,252 [/127.0.0.1:1590] DEBUG MyQueue                       
- No subscriptions registered, will not dispatch message at this time.


>From this, it appears that it doesn't think there are any
consumers/subscribers for for the ActiveMQ "MyQueue" queue.  Does the
activemq.xml configuration above look correct, or have I missed something?

Thank you very much for your assistance,
Greg

-- 
View this message in context: http://www.nabble.com/JMS-to-JMS-Bridge-tf1901141.html#a5206829
Sent from the ActiveMQ - User forum at Nabble.com.


Re: JMS to JMS Bridge

Posted by Rob Davies <ra...@gmail.com>.
We don't have a test case for this (hint!) - but the out bound  
destinations need a consumer destination as well - so you can map a  
foo queue to say a swiftmq bar queue. It called also be a wild card  
queue - ie. > will push all queues to swiftmq.
The property you need to set in the outboundQueueBridge is  
consumerQueue.


On 6 Jul 2006, at 16:02, agrabil wrote:

>
> I'm attempting to setup a bridged configuration where messages sent  
> to the
> queue called MyQueue on an ActiveMQ broker are sent to a SwiftMQ  
> broker
> using the Jms to Jms bridge.  The name of the queue in SwiftMQ is  
> actually
> MyQueue@router.  Here is my configuration:
>
>   <broker useJmx="true">
>
>
>     <persistenceAdapter>
>       <journaledJDBC journalLogFiles="5" dataDirectory="../activemq- 
> data"/>
>     </persistenceAdapter>
>
>     <transportConnectors>
>        <transportConnector name="default" uri="tcp://localhost:61616"
> discoveryUri="multicast://default"/>
>        <transportConnector name="stomp"   uri="stomp://localhost: 
> 61613"/>
>     </transportConnectors>
>
>     <networkConnectors>
>       <!-- by default just auto discover the other brokers -->
>       <networkConnector name="default" uri="multicast://default"/>
>     </networkConnectors>
>
>     <jmsBridgeConnectors>
>        <jmsQueueConnector  
> outboundQueueConnectionFactory="#remoteFactory">
>            <outboundQueueBridges>
>                 <outboundQueueBridge  
> outboundQueueName="MyQueue@router">
>                 </outboundQueueBridge>
>            </outboundQueueBridges>
>        </jmsQueueConnector>
>     </jmsBridgeConnectors>
>
>   </broker>
>
>   <bean id="remoteFactory"  
> class="com.swiftmq.jms.ConnectionFactoryImpl">
>           <constructor-arg  
> value="com.swiftmq.net.PlainSocketFactory"/>
>           <constructor-arg value="localhost"/>
>           <constructor-arg value="4001"/>
>           <constructor-arg value="60000"/>
>   </bean>
>
>
> The connection is established from ActiveMQ to SwiftMQ, but no  
> messages ever
> get sent to the SwiftMQ provider.  Ideally, I would like to filter  
> which
> messages are forwarded to SwiftMQ, but at this point I'd be happy  
> with _any_
> messages being sent.  However, it is not clear where I indicate which
> ActiveMQ queue I want "bridged" to what SwiftMQ queue.  Any help  
> with this
> type of configuration would be greatly appreciated.  I will also  
> take a
> closer look at the examples as you suggested.
>
> Thanks,
> Greg
> -- 
> View this message in context: http://www.nabble.com/JMS-to-JMS- 
> Bridge-tf1901141.html#a5201389
> Sent from the ActiveMQ - User forum at Nabble.com.
>


Re: JMS to JMS Bridge

Posted by James Strachan <ja...@gmail.com>.
Great stuff! Welcome Greg!

Here's an introduction into how to contribute & create patches and so forth...

http://incubator.apache.org/activemq/contributing.html


On 8/1/06, agrabil <gr...@ins.com> wrote:
>
> Hello,
> I believe that I have identified the issue with this particular problem.  It
> appears that the code in the JmsQueueConnector class assumes that the name
> of the outboundQueueName is also the name of the local (ActiveMQ) queue.  In
> this situation, this is not the case.  In fact, as SwiftMQ requires a naming
> convention of "queueName@router", which is not a valid queue name for
> ActiveMQ.  I believe that this same problem could occur with the
> InboundQueueBridge as well.  I have implemented a fix, which I would like to
> confirm is appropriate.  First, I added a 'localQueueName' property to both
> the InboundQueueBridge and OutboundQueueBridge classes, along with the
> customary getter/setter.  Then, in the JmsQueueConnection class, I modified
> the initializeInboundQueueBridges and initializeOutboundQueueBridges to
> obtain the localQueueName from the Inbound/OutboundQueueBridge and set that
> for the ActiveMQ queue name:
>
>
>     protected void initializeInboundQueueBridges() throws JMSException{
>         if(inboundQueueBridges!=null){
>             QueueSession outboundSession =
> outboundQueueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
>             QueueSession localSession =
> localQueueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
>             for(int i=0;i<inboundQueueBridges.length;i++){
>                 InboundQueueBridge bridge=inboundQueueBridges[i];
>                 String localQueueName = bridge.getLocalQueueName();
>                 Queue
> activemqQueue=createActiveMQQueue(localSession,localQueueName);
>                 String queueName=bridge.getInboundQueueName();
>                 Queue
> foreignQueue=createForeignQueue(outboundSession,queueName);
>                 bridge.setConsumerQueue(foreignQueue);
>                 bridge.setProducerQueue(activemqQueue);
>                 bridge.setProducerConnection(localQueueConnection);
>                 bridge.setConsumerConnection(outboundQueueConnection);
>                 if(bridge.getJmsMessageConvertor()==null){
>
> bridge.setJmsMessageConvertor(getInboundMessageConvertor());
>                 }
>                 bridge.setJmsConnector(this);
>                 addInboundBridge(bridge);
>             }
>             outboundSession.close();
>             localSession.close();
>         }
>     }
>
>     protected void initializeOutboundQueueBridges() throws JMSException{
>         if(outboundQueueBridges!=null){
>             QueueSession outboundSession =
> outboundQueueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
>             QueueSession localSession =
> localQueueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
>             for(int i=0;i<outboundQueueBridges.length;i++){
>                 OutboundQueueBridge bridge=outboundQueueBridges[i];
>                 String localQueueName=bridge.getLocalQueueName();
>                 Queue
> activemqQueue=createActiveMQQueue(localSession,localQueueName);
>                 String queueName=bridge.getOutboundQueueName();
>                 Queue
> foreignQueue=createForeignQueue(outboundSession,queueName);
>                 bridge.setConsumerQueue(activemqQueue);
>                 bridge.setProducerQueue(foreignQueue);
>                 bridge.setProducerConnection(outboundQueueConnection);
>                 bridge.setConsumerConnection(localQueueConnection);
>                 if(bridge.getJmsMessageConvertor()==null){
>
> bridge.setJmsMessageConvertor(getOutboundMessageConvertor());
>                 }
>                 bridge.setJmsConnector(this);
>                 addOutboundBridge(bridge);
>             }
>             outboundSession.close();
>             localSession.close();
>         }
>     }
>
> I have not committed changes to any open source projects before, so I am not
> familiar with the process.  If these changes appear to be acceptable, please
> let me know how to proceed.  Perhaps someone with developer credentials for
> the project can simply incorporate these changes in a future build?
>
> Thanks,
> Greg Rabil
> --
> View this message in context: http://www.nabble.com/JMS-to-JMS-Bridge-tf1901141.html#a5598132
> Sent from the ActiveMQ - User forum at Nabble.com.
>
>


-- 

James
-------
http://radio.weblogs.com/0112098/

Re: JMS to JMS Bridge

Posted by Rob Davies <ra...@gmail.com>.
I'll do it as I was in the middle of looking at this anyways - I'm  
going to link back to this conversation though on the commit log

cheers,

Rob



Rob Davies
http://rajdavies.blogspot.com/



On 1 Aug 2006, at 17:46, agrabil wrote:

>
> Great!  So, should I proceed with creating a JIRA ticket, etc. as  
> described
> in the link that James provided, or will you handle incorporating  
> this fix?
>
> Thanks,
> Greg
> -- 
> View this message in context: http://www.nabble.com/JMS-to-JMS- 
> Bridge-tf1901141.html#a5598457
> Sent from the ActiveMQ - User forum at Nabble.com.
>







Re: JMS to JMS Bridge

Posted by James Strachan <ja...@gmail.com>.
On 8/1/06, agrabil <gr...@ins.com> wrote:
> Thanks Rob.  BTW, I just thought that the implementation I provided may be
> improved to support backward compatability, and so as to not require the
> localQueueName attribute.  E.g.:
>
>                 ...
>                 String localQueueName = bridge.getLocalQueueName();
>                 if ((localQueueName == null) || (localQueueName.length() <=
> 0)) {
>                      localQueueName = bridge.getOutboundQueueName();
>                 }
>                 Queue
> activemqQueue=createActiveMQQueue(localSession,localQueueName);
>                 ...
>
> Of course, maybe you already thought of this! ;-)
>
> Thanks again, and I'm glad I could help.  I really needed this to work so I
> can migrate from SwiftMQ to ActiveMQ!

Its nice to hear from a SwiftMQ -> ActiveMQ switcher :)
-- 

James
-------
http://radio.weblogs.com/0112098/

Re: JMS to JMS Bridge

Posted by Rob Davies <ra...@gmail.com>.
Hi Greg,

that check is done in the bridges themselves - so if you don't set  
the localQueueName or localTopicName - it's been defaulted to the  
inboundQueueName/inboundTopicName etc.

cheers,

Rob
On 1 Aug 2006, at 19:13, agrabil wrote:

>
> Thanks Rob.  BTW, I just thought that the implementation I provided  
> may be
> improved to support backward compatability, and so as to not  
> require the
> localQueueName attribute.  E.g.:
>
>                 ...
>                 String localQueueName = bridge.getLocalQueueName();
>                 if ((localQueueName == null) ||  
> (localQueueName.length() <=
> 0)) {
>                      localQueueName = bridge.getOutboundQueueName();
>                 }
>                 Queue
> activemqQueue=createActiveMQQueue(localSession,localQueueName);
>                 ...
>
> Of course, maybe you already thought of this! ;-)
>
> Thanks again, and I'm glad I could help.  I really needed this to  
> work so I
> can migrate from SwiftMQ to ActiveMQ!
>
> Greg
> -- 
> View this message in context: http://www.nabble.com/JMS-to-JMS- 
> Bridge-tf1901141.html#a5600078
> Sent from the ActiveMQ - User forum at Nabble.com.
>


Re: JMS to JMS Bridge

Posted by agrabil <gr...@ins.com>.
Thanks Rob.  BTW, I just thought that the implementation I provided may be
improved to support backward compatability, and so as to not require the
localQueueName attribute.  E.g.:

                ...
                String localQueueName = bridge.getLocalQueueName();
                if ((localQueueName == null) || (localQueueName.length() <=
0)) {
                     localQueueName = bridge.getOutboundQueueName();
                }
                Queue
activemqQueue=createActiveMQQueue(localSession,localQueueName);
                ...

Of course, maybe you already thought of this! ;-)

Thanks again, and I'm glad I could help.  I really needed this to work so I
can migrate from SwiftMQ to ActiveMQ!

Greg
-- 
View this message in context: http://www.nabble.com/JMS-to-JMS-Bridge-tf1901141.html#a5600078
Sent from the ActiveMQ - User forum at Nabble.com.


Re: JMS to JMS Bridge

Posted by Rob Davies <ra...@gmail.com>.
ok - the changes are in - I'll update the documentation - thank you  
Greg for working on this.


cheers,

Rob

Rob Davies
http://rajdavies.blogspot.com/


On 1 Aug 2006, at 17:46, agrabil wrote:

>
> Great!  So, should I proceed with creating a JIRA ticket, etc. as  
> described
> in the link that James provided, or will you handle incorporating  
> this fix?
>
> Thanks,
> Greg
> -- 
> View this message in context: http://www.nabble.com/JMS-to-JMS- 
> Bridge-tf1901141.html#a5598457
> Sent from the ActiveMQ - User forum at Nabble.com.
>








Re: JMS to JMS Bridge

Posted by agrabil <gr...@ins.com>.
Great!  So, should I proceed with creating a JIRA ticket, etc. as described
in the link that James provided, or will you handle incorporating this fix?

Thanks,
Greg
-- 
View this message in context: http://www.nabble.com/JMS-to-JMS-Bridge-tf1901141.html#a5598457
Sent from the ActiveMQ - User forum at Nabble.com.


Re: JMS to JMS Bridge

Posted by Rob Davies <ra...@gmail.com>.
will give it a go a see if it breaks anything - thanks for the patch!

cheers,

Rob


Rob Davies
http://rajdavies.blogspot.com/


On 1 Aug 2006, at 17:31, agrabil wrote:

>
> Hello,
> I believe that I have identified the issue with this particular  
> problem.  It
> appears that the code in the JmsQueueConnector class assumes that  
> the name
> of the outboundQueueName is also the name of the local (ActiveMQ)  
> queue.  In
> this situation, this is not the case.  In fact, as SwiftMQ requires  
> a naming
> convention of "queueName@router", which is not a valid queue name for
> ActiveMQ.  I believe that this same problem could occur with the
> InboundQueueBridge as well.  I have implemented a fix, which I  
> would like to
> confirm is appropriate.  First, I added a 'localQueueName' property  
> to both
> the InboundQueueBridge and OutboundQueueBridge classes, along with the
> customary getter/setter.  Then, in the JmsQueueConnection class, I  
> modified
> the initializeInboundQueueBridges and  
> initializeOutboundQueueBridges to
> obtain the localQueueName from the Inbound/OutboundQueueBridge and  
> set that
> for the ActiveMQ queue name:
>
>
>     protected void initializeInboundQueueBridges() throws  
> JMSException{
>         if(inboundQueueBridges!=null){
>             QueueSession outboundSession =
> outboundQueueConnection.createQueueSession 
> (false,Session.AUTO_ACKNOWLEDGE);
>             QueueSession localSession =
> localQueueConnection.createQueueSession 
> (false,Session.AUTO_ACKNOWLEDGE);
>             for(int i=0;i<inboundQueueBridges.length;i++){
>                 InboundQueueBridge bridge=inboundQueueBridges[i];
>                 String localQueueName = bridge.getLocalQueueName();
>                 Queue
> activemqQueue=createActiveMQQueue(localSession,localQueueName);
>                 String queueName=bridge.getInboundQueueName();
>                 Queue
> foreignQueue=createForeignQueue(outboundSession,queueName);
>                 bridge.setConsumerQueue(foreignQueue);
>                 bridge.setProducerQueue(activemqQueue);
>                 bridge.setProducerConnection(localQueueConnection);
>                 bridge.setConsumerConnection(outboundQueueConnection);
>                 if(bridge.getJmsMessageConvertor()==null){
>
> bridge.setJmsMessageConvertor(getInboundMessageConvertor());
>                 }
>                 bridge.setJmsConnector(this);
>                 addInboundBridge(bridge);
>             }
>             outboundSession.close();
>             localSession.close();
>         }
>     }
>
>     protected void initializeOutboundQueueBridges() throws  
> JMSException{
>         if(outboundQueueBridges!=null){
>             QueueSession outboundSession =
> outboundQueueConnection.createQueueSession 
> (false,Session.AUTO_ACKNOWLEDGE);
>             QueueSession localSession =
> localQueueConnection.createQueueSession 
> (false,Session.AUTO_ACKNOWLEDGE);
>             for(int i=0;i<outboundQueueBridges.length;i++){
>                 OutboundQueueBridge bridge=outboundQueueBridges[i];
>                 String localQueueName=bridge.getLocalQueueName();
>                 Queue
> activemqQueue=createActiveMQQueue(localSession,localQueueName);
>                 String queueName=bridge.getOutboundQueueName();
>                 Queue
> foreignQueue=createForeignQueue(outboundSession,queueName);
>                 bridge.setConsumerQueue(activemqQueue);
>                 bridge.setProducerQueue(foreignQueue);
>                 bridge.setProducerConnection(outboundQueueConnection);
>                 bridge.setConsumerConnection(localQueueConnection);
>                 if(bridge.getJmsMessageConvertor()==null){
>
> bridge.setJmsMessageConvertor(getOutboundMessageConvertor());
>                 }
>                 bridge.setJmsConnector(this);
>                 addOutboundBridge(bridge);
>             }
>             outboundSession.close();
>             localSession.close();
>         }
>     }
>
> I have not committed changes to any open source projects before, so  
> I am not
> familiar with the process.  If these changes appear to be  
> acceptable, please
> let me know how to proceed.  Perhaps someone with developer  
> credentials for
> the project can simply incorporate these changes in a future build?
>
> Thanks,
> Greg Rabil
> -- 
> View this message in context: http://www.nabble.com/JMS-to-JMS- 
> Bridge-tf1901141.html#a5598132
> Sent from the ActiveMQ - User forum at Nabble.com.
>







Re: JMS to JMS Bridge

Posted by agrabil <gr...@ins.com>.
Hello,
I believe that I have identified the issue with this particular problem.  It
appears that the code in the JmsQueueConnector class assumes that the name
of the outboundQueueName is also the name of the local (ActiveMQ) queue.  In
this situation, this is not the case.  In fact, as SwiftMQ requires a naming
convention of "queueName@router", which is not a valid queue name for
ActiveMQ.  I believe that this same problem could occur with the
InboundQueueBridge as well.  I have implemented a fix, which I would like to
confirm is appropriate.  First, I added a 'localQueueName' property to both
the InboundQueueBridge and OutboundQueueBridge classes, along with the
customary getter/setter.  Then, in the JmsQueueConnection class, I modified
the initializeInboundQueueBridges and initializeOutboundQueueBridges to
obtain the localQueueName from the Inbound/OutboundQueueBridge and set that
for the ActiveMQ queue name:


    protected void initializeInboundQueueBridges() throws JMSException{
        if(inboundQueueBridges!=null){
            QueueSession outboundSession =
outboundQueueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
            QueueSession localSession =
localQueueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
            for(int i=0;i<inboundQueueBridges.length;i++){
                InboundQueueBridge bridge=inboundQueueBridges[i];
                String localQueueName = bridge.getLocalQueueName();
                Queue
activemqQueue=createActiveMQQueue(localSession,localQueueName);
                String queueName=bridge.getInboundQueueName();
                Queue
foreignQueue=createForeignQueue(outboundSession,queueName);
                bridge.setConsumerQueue(foreignQueue);
                bridge.setProducerQueue(activemqQueue);
                bridge.setProducerConnection(localQueueConnection);
                bridge.setConsumerConnection(outboundQueueConnection);
                if(bridge.getJmsMessageConvertor()==null){
                   
bridge.setJmsMessageConvertor(getInboundMessageConvertor());
                }
                bridge.setJmsConnector(this);
                addInboundBridge(bridge);
            }
            outboundSession.close();
            localSession.close();
        }
    }

    protected void initializeOutboundQueueBridges() throws JMSException{
        if(outboundQueueBridges!=null){
            QueueSession outboundSession =
outboundQueueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
            QueueSession localSession =
localQueueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
            for(int i=0;i<outboundQueueBridges.length;i++){
                OutboundQueueBridge bridge=outboundQueueBridges[i];
                String localQueueName=bridge.getLocalQueueName();
                Queue
activemqQueue=createActiveMQQueue(localSession,localQueueName);
                String queueName=bridge.getOutboundQueueName();
                Queue
foreignQueue=createForeignQueue(outboundSession,queueName);
                bridge.setConsumerQueue(activemqQueue);
                bridge.setProducerQueue(foreignQueue);
                bridge.setProducerConnection(outboundQueueConnection);
                bridge.setConsumerConnection(localQueueConnection);
                if(bridge.getJmsMessageConvertor()==null){
                   
bridge.setJmsMessageConvertor(getOutboundMessageConvertor());
                }
                bridge.setJmsConnector(this);
                addOutboundBridge(bridge);
            }
            outboundSession.close();
            localSession.close();
        }
    }

I have not committed changes to any open source projects before, so I am not
familiar with the process.  If these changes appear to be acceptable, please
let me know how to proceed.  Perhaps someone with developer credentials for
the project can simply incorporate these changes in a future build?

Thanks,
Greg Rabil
-- 
View this message in context: http://www.nabble.com/JMS-to-JMS-Bridge-tf1901141.html#a5598132
Sent from the ActiveMQ - User forum at Nabble.com.


Re: JMS to JMS Bridge

Posted by agrabil <gr...@ins.com>.
I'm attempting to setup a bridged configuration where messages sent to the
queue called MyQueue on an ActiveMQ broker are sent to a SwiftMQ broker
using the Jms to Jms bridge.  The name of the queue in SwiftMQ is actually
MyQueue@router.  Here is my configuration:

  <broker useJmx="true">
 
 
    <persistenceAdapter>
      <journaledJDBC journalLogFiles="5" dataDirectory="../activemq-data"/>
    </persistenceAdapter>
 
    <transportConnectors>
       <transportConnector name="default" uri="tcp://localhost:61616"
discoveryUri="multicast://default"/>
       <transportConnector name="stomp"   uri="stomp://localhost:61613"/>
    </transportConnectors>
   
    <networkConnectors>
      <!-- by default just auto discover the other brokers -->
      <networkConnector name="default" uri="multicast://default"/>
    </networkConnectors>

    <jmsBridgeConnectors>
       <jmsQueueConnector outboundQueueConnectionFactory="#remoteFactory">
           <outboundQueueBridges>
                <outboundQueueBridge outboundQueueName="MyQueue@router">
                </outboundQueueBridge>
           </outboundQueueBridges>
       </jmsQueueConnector>
    </jmsBridgeConnectors>
   
  </broker>
 
  <bean id="remoteFactory" class="com.swiftmq.jms.ConnectionFactoryImpl">
          <constructor-arg value="com.swiftmq.net.PlainSocketFactory"/>
          <constructor-arg value="localhost"/>
          <constructor-arg value="4001"/>
          <constructor-arg value="60000"/>
  </bean>


The connection is established from ActiveMQ to SwiftMQ, but no messages ever
get sent to the SwiftMQ provider.  Ideally, I would like to filter which
messages are forwarded to SwiftMQ, but at this point I'd be happy with _any_
messages being sent.  However, it is not clear where I indicate which
ActiveMQ queue I want "bridged" to what SwiftMQ queue.  Any help with this
type of configuration would be greatly appreciated.  I will also take a
closer look at the examples as you suggested.

Thanks,
Greg
-- 
View this message in context: http://www.nabble.com/JMS-to-JMS-Bridge-tf1901141.html#a5201389
Sent from the ActiveMQ - User forum at Nabble.com.


Re: JMS to JMS Bridge

Posted by James Strachan <ja...@gmail.com>.
There are test cases that show it working if thats any help. What does
your XML configuration file look like & do you get any errors?

On 7/6/06, agrabil <gr...@ins.com> wrote:
>
> Hello,
> I am having some problems getting the JMS to JMS Bridge feature working with
> ActiveMQ 4.0 and JDK 1.5.  If I understand this functionality, I should be
> able to post messages to and ActiveMQ queue that get automatically posted to
> a queue on another JMS provider.  In my tests, I can't seem to get this to
> work.  Am I missing something obvious about this functionality?  Has anyone
> had success with this kind of configuration?
>
> Thanks for any assistance,
> Greg
> --
> View this message in context: http://www.nabble.com/JMS-to-JMS-Bridge-tf1901141.html#a5201128
> Sent from the ActiveMQ - User forum at Nabble.com.
>
>


-- 

James
-------
http://radio.weblogs.com/0112098/