activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From smith_jor <accept...@gmail.com>
Subject question about static network connector?
Date Fri, 08 Nov 2013 03:29:57 GMT
Now, I have a JDBC master/slave cluster: tcp://remote1:61616,
tcp://remote2:61616, tcp:/remote3:61616

I start a VM , application write message to VM, then VM forward messages to
this master/slave cluster.

core code is below:

 ActiveMQConnectionFactory factory = new
		
ActiveMQConnectionFactory("vm:(broker:(network:static:(tcp://remote1:61616,tcp://remote2:61616,tcp://remote3:61616))?persistent=false)");

		
		Connection connection = factory.createConnection();
		Session session = connection.createSession(false,
				Session.AUTO_ACKNOWLEDGE);
		connection.start();
		Queue queue = session.createQueue("test");
		MessageProducer producer = session.createProducer(queue);
		// send messages
		for (int i = 0; i < 1000000000; i++) {
			producer.send(session.createTextMessage(i + " message"));
			System.out.println("Sent message " + i);
			Thread.sleep(1000);
		}
		producer.close();
		session.close();
		connection.close();


But , there is a exception like this;

Exception in thread "main" javax.jms.JMSException: Peer (vm://localhost#7)
disposed.
	at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
	at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1409)
	at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1319)
	at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1798)
	at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:289)
	at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:224)
	at
org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
	at com.test.EmbeddedProducer.main(EmbeddedProducer.java:25)
Caused by: org.apache.activemq.transport.TransportDisposedIOException: Peer
(vm://localhost#7) disposed.
	at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:89)
	at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
	at
org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81)
	at
org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86)
	at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1380)
	... 6 more

why throw this exception, is there some thing wrong in code ?

what is difference between 
 ActiveMQConnectionFactory factory = new
		
ActiveMQConnectionFactory("vm:(broker:(network:static:(tcp://remote1:61616,tcp://remote2:61616,tcp://remote3:61616))?persistent=false)");

and


 ActiveMQConnectionFactory factory = new
		
ActiveMQConnectionFactory("vm:(broker:(network:masterslave:(tcp://remote1:61616,tcp://remote2:61616,tcp://remote3:61616))?persistent=false)");

another question:

if I use network:static(uri1,uri2, ...,uriN)
should a message forward to all these uris?

or forward to only one  url ?









--
View this message in context: http://activemq.2283324.n4.nabble.com/question-about-static-network-connector-tp4674057.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Mime
View raw message