I made an interesting observation over the weekend that may help explain what's going on here, but need some assistance.
I've modified my spring configuration to use a PooledConnectionFactory. I'm using ActiveMQ 4.1.1 and the 1.1 JMS APIs (Hence JMSTemplate replacing JMSTemplate102). Here's the new spring conf: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/> <bean id="jmsTopicConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop"> <property name="connectionFactory"> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL"> <value>peer://mybrokergroup/mybrokername</value> </property> </bean> </property> </bean> <bean id="TestTopic" class="org.apache.activemq.command.ActiveMQTopic"> <constructor-arg> <value>TestTopic</value> </constructor-arg> </bean> <bean id="SenderBean" class="com.ssi.exp.TestMessageSender"> <property name="jmsTemplate"> <ref bean="TestTopicJmsTemplate"/> </property> </bean> <bean id="MessageListener" class="com.ssi.exp.TestMessageListener" /> <bean id="TestJmsTopicListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="concurrentConsumers"> <value>1</value> </property> <property name="connectionFactory" ref="jmsTopicConnectionFactory"/> <property name="destination" ref="TestTopic" /> <property name="messageListener" ref="MessageListener" /> <property name="pubSubDomain"> <value>true</value> </property> </bean> <bean id="TestTopicJmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory"> <ref bean="jmsTopicConnectionFactory" /> </property> <property name="defaultDestination"> <ref bean="TestTopic" /> </property> <property name="pubSubDomain"> <value>true</value> </property> </bean> </beans> I start the listener and it waits patiently. I start the sender-listener and it sends (receives) its 5 messages. Then, somewhat later (approx. 5 minutes, I see a message that DiscoveryNetworkConnector.onServiceAdd has been invoked, and it looks like it finds the listener process. Here is the output of the sender-listener process: [EMAIL PROTECTED] ~]$ /opt/java/bin/java -jar test-amq-peer.jar send Loading Spring context... This should create the activemq listener and sender... Aug 4, 2008 2:59:32 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh INFO: Refreshing [EMAIL PROTECTED]: display name [EMAIL PROTECTED]; startup date [Mon Aug 04 02:59:32 CDT 2008]; root of context hierarchy Aug 4, 2008 2:59:33 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from class path resource [spring-config.xml] Aug 4, 2008 2:59:33 AM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory INFO: Bean factory for application context [EMAIL PROTECTED]: [EMAIL PROTECTED] Aug 4, 2008 2:59:33 AM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons INFO: Pre-instantiating singletons in [EMAIL PROTECTED]: defining beans [propertyConfigurer,jmsTopicConnectionFactory,TestTopic,SenderBean,MessageListener,TestJmsTopicListenerContainer,TestTopicJmsTemplate]; root of factory hierarchy Aug 4, 2008 2:59:33 AM org.apache.activemq.broker.BrokerService getBroker INFO: ActiveMQ 4.1.1 JMS Message Broker (mybrokername) is starting Aug 4, 2008 2:59:33 AM org.apache.activemq.broker.BrokerService getBroker INFO: For help or more information please see: http://incubator.apache.org/activemq/ Aug 4, 2008 2:59:33 AM org.apache.activemq.transport.TransportServerThreadSupport doStart INFO: Listening for connections at: tcp://dacar-collector:46775 Aug 4, 2008 2:59:33 AM org.apache.activemq.broker.TransportConnector start INFO: Connector tcp://dacar-collector:46775 Started Aug 4, 2008 2:59:33 AM org.apache.activemq.network.NetworkConnector doStart INFO: Network Connector bridge Started Aug 4, 2008 2:59:33 AM org.apache.activemq.broker.BrokerService start INFO: ActiveMQ JMS Message Broker (mybrokername, ID:dacar-collector-53258-1217836773407-1:0) started Aug 4, 2008 2:59:33 AM org.apache.activemq.broker.TransportConnector start INFO: Connector vm://mybrokername Started Waiting 1 minute to allow initiation to complete. Aug 4, 2008 2:59:33 AM org.apache.activemq.broker.jmx.ManagementContext$1 run INFO: JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi Executing in SENDER mode... >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Sending message 0[New message at Mon Aug 04 03:00:33 CDT 2008 from thread [EMAIL PROTECTED] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Received message # 0 Received [ActiveMQObjectMessage {commandId = 0, responseRequired = false, messageId = null, originalDestination = null, originalTransactionId = null, producerId = null, destination = null, transactionId = null, expiration = 0, timestamp = 0, arrival = 0, correlationId = null, replyTo = null, persistent = false, type = null, priority = 0, groupID = null, groupSequence = 0, targetConsumerId = null, compressed = false, userID = null, content = null, marshalledProperties = null, dataStructure = null, redeliveryCounter = 0, size = 0, properties = null, readOnlyProperties = false, readOnlyBody = false, droppable = false}] at Mon Aug 04 03:00:33 CDT 2008 in listener [EMAIL PROTECTED] <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< { ... messages 2 -4 sent and received within about 12 seconds -- snipped from this log ..} Aug 4, 2008 3:04:14 AM org.apache.activemq.network.DiscoveryNetworkConnector onServiceAdd INFO: Establishing network connection between from vm://mybrokername?network=true to tcp://DACAR-ENGINE1:33096 Aug 4, 2008 3:04:14 AM org.apache.activemq.network.DemandForwardingBridgeSupport startLocalBridge INFO: Network connection between vm://mybrokername#4 and tcp://DACAR-ENGINE1/10.15.2.104:33096(mybrokername) has been established. Aug 4, 2008 3:09:14 AM org.apache.activemq.network.DiscoveryNetworkConnector onServiceAdd INFO: Establishing network connection between from vm://mybrokername?network=true to tcp://DACAR-ENGINE1:33096 Aug 4, 2008 3:09:14 AM org.apache.activemq.network.DemandForwardingBridgeSupport startLocalBridge INFO: Network connection between vm://mybrokername#6 and tcp://DACAR-ENGINE1/10.15.2.104:33096(mybrokername) has been established. What I'm not sure about is, why so long? I actually tried a version of this test where I wait 6 minutes between the 4th and 5th message, and this message still pops up several minutes after the last message. So, to me, that seems like it is somehow related not just purely to time, but to that last message being delivered. Also, this looks like there are two brokers in play even within the sender-listener process. Is that the way it's supposed to be? I gave that a try with rather mixed results. The very time I deployed the new jar, it looked like discovery may have succeeded between machine A (listen/send) and machine B(listen-only), because machine B complained that it could not resolve machine A's hostname: INFO: JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi Aug 1, 2008 8:35:15 AM org.apache.activemq.network.DiscoveryNetworkConnector onServiceAdd INFO: Establishing network connection between from vm://mybrokername?network=true to tcp://dacar-collector:44832 Aug 1, 2008 8:35:15 AM org.apache.activemq.network.DiscoveryNetworkConnector onServiceAdd WARNING: Could not start network bridge between: vm://mybrokername?network=true and: tcp://dacar-collector:44832 due to: java.net.UnknownHostException: dacar-collector I'm close! I thought, and promptly added an /etc/hosts file entry on both boxes (each for the other). However, subsequent tests failed to give any indication that discovery had completed -- in fact I never see a line after this (when running as listener only): INFO: JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi What logging can I turn up (and how do I do it with or without Spring) to get better visibility into the discovery process? -chris I will give that a try and post back with the results. Am I correct in assuming that, at least after a cursory review, it looks like this *should* work? For example, there's nothing flagrantly wrong with the peer URI? Should it be the same URI in both peers (I assume so). There's no explicit broker configuration that needs be done? Thanks for taking a look at this, Rob. -chris -- View this message in context: http://www.nabble.com/Problems-with-simple-peer%3A---transport-config---Spring-tp18755772p18813600.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.