activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Fernandez <joe.fernan...@ttmsolutions.com>
Subject Re: BindException in ActiveMQ in high volumn of messages
Date Mon, 03 Nov 2008 21:27:25 GMT

Somehow the system ends up using a port that hasn't had a chance to get
cleaned up from the previous run. When you add a delay, the system has a
chance to clean it up. 

It looks like the sample MDP is using the JmsTemplate. So you may want to
take a look at the JmsTemplate gotchas.

http://activemq.apache.org/jmstemplate-gotchas.html

If you're sending and receiving 1M messages, you're not going to want to
open and close a heavyweight connection object for each and every operation. 

Joe
http://www.ttmsolutions.com - get a free ActiveMQ user guide



hugberry wrote:
> 
> I am running a Spring Message Driven POJO example from
> http://blog.springsource.com/2006/08/11/message-driven-pojos.  The example
> runs fine without problem until I change the client source code to send
> and receive 1 million messages, after thousands of runs, I am getting a
> bindException on the client.   When I enable debug message on the broker,
> the problem never shows up (Slowing it down seems to hide the issue).  
> The client, the broker, and the server are on the same Window XP machine,
> and before the test I did confirm that none of the port that AMQ required
> are used. 
> 
> The error after 4031 iterations:
> 
> :
> :
> :
> auto4027: Confirmed #4127
> auto4028: Confirmed #4128
> auto4029: Confirmed #4129
> auto4030: Not Confirmed
> auto4031: Confirmed #4131
> Exception in thread "main"
> org.springframework.jms.UncategorizedJmsException: Un
> categorized exception occured during JMS processing; nested exception is
> javax.j
> ms.JMSException: Could not connect to broker URL: tcp://localhost:61616.
> Reason:
>  java.net.BindException: Address already in use: connect; nested exception
> is ja
> va.net.BindException: Address already in use: connect
>         at
> org.springframework.jms.support.JmsUtils.convertJmsAccessException(Jm
> sUtils.java:292)
>         at
> org.springframework.jms.support.JmsAccessor.convertJmsAccessException
> (JmsAccessor.java:168)
>         at
> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:474
> )
>         at
> org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:539)
>         at
> org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.j
> ava:617)
>         at
> org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.j
> ava:609)
>         at blog.mdp.RegistrationConsole.main(RegistrationConsole.java:32)
> Caused by: javax.jms.JMSException: Could not connect to broker URL:
> tcp://localh
> ost:61616. Reason: java.net.BindException: Address already in use: connect
>         at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSuppo
> rt.java:35)
>         at
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnectio
> n(ActiveMQConnectionFactory.java:278)
>         at
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnectio
> n(ActiveMQConnectionFactory.java:222)
>         at
> org.apache.activemq.ActiveMQConnectionFactory.createConnection(Active
> MQConnectionFactory.java:170)
>         at
> org.springframework.jms.support.JmsAccessor.createConnection(JmsAcces
> sor.java:184)
>         at
> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:461
> )
>         ... 4 more
> Caused by: java.net.BindException: Address already in use: connect
>         at java.net.PlainSocketImpl.socketConnect(Native Method)
>         at java.net.PlainSocketImpl.doConnect(Unknown Source)
>         at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
>         at java.net.PlainSocketImpl.connect(Unknown Source)
>         at java.net.SocksSocketImpl.connect(Unknown Source)
>         at java.net.Socket.connect(Unknown Source)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.connect(TcpTransport.j
> ava:414)
>         at
> org.apache.activemq.transport.tcp.TcpTransport.doStart(TcpTransport.j
> ava:380)
>         at
> org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:50)
> 
>         at
> org.apache.activemq.transport.TransportFilter.start(TransportFilter.j
> ava:57)
>         at
> org.apache.activemq.transport.TransportFilter.start(TransportFilter.j
> ava:57)
>         at
> org.apache.activemq.transport.WireFormatNegotiator.start(WireFormatNe
> gotiator.java:72)
>         at
> org.apache.activemq.transport.TransportFilter.start(TransportFilter.j
> ava:57)
>         at
> org.apache.activemq.transport.TransportFilter.start(TransportFilter.j
> ava:57)
>         at
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnectio
> n(ActiveMQConnectionFactory.java:258)
>         ... 8 more
> 
> I am kind of hoping to show ActiveMQ to my colleage is ready for
> Production use.   Anyone have an idea of troubleshooting this?
> 
> Thanks.
> 
> 

-- 
View this message in context: http://www.nabble.com/BindException-in-ActiveMQ-in-high-volumn-of-messages-tp20310367p20311220.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message