You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Balakumar Narayanasamy <ba...@gmail.com> on 2006/08/24 13:08:19 UTC

How to restart ACTIVEMQ connection in spring framework

I am using ActiveMQ 4.0.1 along with spring 1.2.2 framework and connection
pooling is done by JCA. 

My application communicates to queue to pull and push message. My
application sends thousands of messages to input queue and other application
pulls from queue, do some processing and writes to another output queue. My
application reads from output queue. 
This process works fine when i deal within thousand request.
But when it goes beyond that i getting following exception

[2006-08-24 02:57:56] [ERROR]
org.springframework.jms.UNcategorizedJmsException: UNcategorized exception
occured during JMS processing; nested exception is java.net SocketException:
Broken pipe

javax.jms.JMSException: Broken pipe 
   at org.apache.activemq.util.JMSExceptionSupport.create
(JMSExceptionSupport.java:57)
   at org.apache.activemq.ActiveMQConnection.syncSendPacket
(ActiveMQConnection.java:1118)
   at
org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1196)
   at org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:
412)
   ...
   ...
 

-- 
View this message in context: http://www.nabble.com/How-to-restart-ACTIVEMQ-connection-in-spring-framework-tf2158023.html#a5961840
Sent from the ActiveMQ - User forum at Nabble.com.


Re: How to restart ACTIVEMQ connection in spring framework

Posted by James Strachan <ja...@gmail.com>.
Those errors are there so that you are aware of connections being
killed; to hide them just use log4j to use WARN level logging for the
failover transport.

On 8/25/06, Balakumar Narayanasamy <ba...@gmail.com> wrote:
>
> Hi James,
>  Thanks for timely response and it worked. Changes i had done is on ActiveMQ
> side so other if it goes down it picks up automatically if clients is up and
> running.
> I used same protocol on client side also. It is working properly but i could
> see some error logs in console from activeMQ side.But errors doesnt hurt my
> application. errors are the following
>
> [org.apache.activemq.transport.failover.FailOverTransport-handleTransportFailure(226)]:
> Transport failed, starting up connect task java.net.SocketException: Socket
> closed
>    at java.net.SocketInputStream.socketRead0(Native.Method)
>    at java.net.SocketInputStream.read(SocketInputStream.java:129)
>    at
> org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:48)
>    at
> org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:55)
>    at java.io.DataInputStream.readInt(DataInputStream.java:353)
>    at org.apache.activemq.OpenWireFormat.unmarshal (openWireFormat.java:
> 274)
>    at
> org.apache.activemq.transport.tsp.TcpTransport.run(TcpTransport.java.142)
> Transport failed, starting up reconnect task
> java.io.EOFException
>    at java.io.DataInputStream.readInt(DataInputStream.java:358)
>    at org.apache.activeMQ.openwire.OpenWireFormat.unmarshal
> (openWireFormat.java: 274)
>    at
> org.apache.activemq.transport.tsp.TcpTransport.run(TcpTransport.java.142)
>
> is that any way we can prevent this error messages. We are testing activeMQ
> 4.0.1 in production environment. Thanks for support you have provide so far
> and in the future.
>
>
>
>
>
> James.Strachan wrote:
> >
> > Remove the discoveryUri attribute from <transportConnector/> If you
> > want to use discovery then copy the config from the ActiveMQ
> > distribution which uses multicast
> >
> > On 8/25/06, Balakumar Narayanasamy <ba...@gmail.com> wrote:
> >>
> >> Hi James,
> >> Idea you have suggest seems to be fine but when i try to implement that i
> >> got following exceptions
> >>
> >> Runtime Exception : Error creatins bean with name in activeMQ.xml and the
> >> actual exception is
> >>
> >> java.io.IOException: DiscoveryAgent scheme NOT recognized
> >>
> >> My activemq config in activeMQ.xml is as below
> >>
> >> <transportConnectors>
> >>  <transportConnector name="localhost" uri="tcp://localhost:61616"
> >> discoveryUri="failover:tcp://localhost:61616"/>
> >> ....
> >> </transportConnectors>
> >> <networkConnectors>
> >>      <networkConnector name="localhost" uri="failover:tcp//localhost"
> >> failover="true"/>
> >> </networkConnectors>
> >>
> >> whether this config is correct or i need to do some corrective measure.
> >> James i need your help in configuring.
> >>
> >> Thanks in advance\
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> James.Strachan wrote:
> >> >
> >> > Sounds like you are just loosing a socket connection. How many
> >> > connections are you creating (use JMX to see this). Is there a bad
> >> > network or firewall in place that could be dropping sockets?
> >> >
> >> > You may wanna use failover: to work around dropped sockets...
> >> >
> >> >
> >> http://incubator.apache.org/activemq/how-can-i-support-auto-reconnection.html
> >> >
> >> > On 8/24/06, Balakumar Narayanasamy <ba...@gmail.com> wrote:
> >> >>
> >> >> I am using ActiveMQ 4.0.1 along with spring 1.2.2 framework and
> >> >> connection
> >> >> pooling is done by JCA.
> >> >>
> >> >> My application communicates to queue to pull and push message. My
> >> >> application sends thousands of messages to input queue and other
> >> >> application
> >> >> pulls from queue, do some processing and writes to another output
> >> queue.
> >> >> My
> >> >> application reads from output queue.
> >> >> This process works fine when i deal within thousand request.
> >> >> But when it goes beyond that i getting following exception
> >> >>
> >> >> [2006-08-24 02:57:56] [ERROR]
> >> >> org.springframework.jms.UNcategorizedJmsException: UNcategorized
> >> >> exception
> >> >> occured during JMS processing; nested exception is java.net
> >> >> SocketException:
> >> >> Broken pipe
> >> >>
> >> >> javax.jms.JMSException: Broken pipe
> >> >>    at org.apache.activemq.util.JMSExceptionSupport.create
> >> >> (JMSExceptionSupport.java:57)
> >> >>    at org.apache.activemq.ActiveMQConnection.syncSendPacket
> >> >> (ActiveMQConnection.java:1118)
> >> >>    at
> >> >>
> >> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1196)
> >> >>    at
> >> >> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:
> >> >> 412)
> >> >>    ...
> >> >>    ...
> >> >>
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >>
> >> http://www.nabble.com/How-to-restart-ACTIVEMQ-connection-in-spring-framework-tf2158023.html#a5961840
> >> >> Sent from the ActiveMQ - User forum at Nabble.com.
> >> >>
> >> >>
> >> >
> >> >
> >> > --
> >> >
> >> > James
> >> > -------
> >> > http://radio.weblogs.com/0112098/
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >> http://www.nabble.com/How-to-restart-ACTIVEMQ-connection-in-spring-framework-tf2158023.html#a5977709
> >> Sent from the ActiveMQ - User forum at Nabble.com.
> >>
> >>
> >
> >
> > --
> >
> > James
> > -------
> > http://radio.weblogs.com/0112098/
> >
> >
>
> --
> View this message in context: http://www.nabble.com/How-to-restart-ACTIVEMQ-connection-in-spring-framework-tf2158023.html#a5981552
> Sent from the ActiveMQ - User forum at Nabble.com.
>
>


-- 

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

Re: How to restart ACTIVEMQ connection in spring framework

Posted by Balakumar Narayanasamy <ba...@gmail.com>.
Hi James,
 Thanks for timely response and it worked. Changes i had done is on ActiveMQ
side so other if it goes down it picks up automatically if clients is up and
running. 
I used same protocol on client side also. It is working properly but i could
see some error logs in console from activeMQ side.But errors doesnt hurt my
application. errors are the following

[org.apache.activemq.transport.failover.FailOverTransport-handleTransportFailure(226)]:
Transport failed, starting up connect task java.net.SocketException: Socket
closed
   at java.net.SocketInputStream.socketRead0(Native.Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:48)
   at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:55)
   at java.io.DataInputStream.readInt(DataInputStream.java:353)
   at org.apache.activemq.OpenWireFormat.unmarshal (openWireFormat.java:
274)
   at
org.apache.activemq.transport.tsp.TcpTransport.run(TcpTransport.java.142)
Transport failed, starting up reconnect task
java.io.EOFException
   at java.io.DataInputStream.readInt(DataInputStream.java:358)
   at org.apache.activeMQ.openwire.OpenWireFormat.unmarshal
(openWireFormat.java: 274)
   at
org.apache.activemq.transport.tsp.TcpTransport.run(TcpTransport.java.142)

is that any way we can prevent this error messages. We are testing activeMQ
4.0.1 in production environment. Thanks for support you have provide so far
and in the future.





James.Strachan wrote:
> 
> Remove the discoveryUri attribute from <transportConnector/> If you
> want to use discovery then copy the config from the ActiveMQ
> distribution which uses multicast
> 
> On 8/25/06, Balakumar Narayanasamy <ba...@gmail.com> wrote:
>>
>> Hi James,
>> Idea you have suggest seems to be fine but when i try to implement that i
>> got following exceptions
>>
>> Runtime Exception : Error creatins bean with name in activeMQ.xml and the
>> actual exception is
>>
>> java.io.IOException: DiscoveryAgent scheme NOT recognized
>>
>> My activemq config in activeMQ.xml is as below
>>
>> <transportConnectors>
>>  <transportConnector name="localhost" uri="tcp://localhost:61616"
>> discoveryUri="failover:tcp://localhost:61616"/>
>> ....
>> </transportConnectors>
>> <networkConnectors>
>>      <networkConnector name="localhost" uri="failover:tcp//localhost"
>> failover="true"/>
>> </networkConnectors>
>>
>> whether this config is correct or i need to do some corrective measure.
>> James i need your help in configuring.
>>
>> Thanks in advance\
>>
>>
>>
>>
>>
>>
>>
>> James.Strachan wrote:
>> >
>> > Sounds like you are just loosing a socket connection. How many
>> > connections are you creating (use JMX to see this). Is there a bad
>> > network or firewall in place that could be dropping sockets?
>> >
>> > You may wanna use failover: to work around dropped sockets...
>> >
>> >
>> http://incubator.apache.org/activemq/how-can-i-support-auto-reconnection.html
>> >
>> > On 8/24/06, Balakumar Narayanasamy <ba...@gmail.com> wrote:
>> >>
>> >> I am using ActiveMQ 4.0.1 along with spring 1.2.2 framework and
>> >> connection
>> >> pooling is done by JCA.
>> >>
>> >> My application communicates to queue to pull and push message. My
>> >> application sends thousands of messages to input queue and other
>> >> application
>> >> pulls from queue, do some processing and writes to another output
>> queue.
>> >> My
>> >> application reads from output queue.
>> >> This process works fine when i deal within thousand request.
>> >> But when it goes beyond that i getting following exception
>> >>
>> >> [2006-08-24 02:57:56] [ERROR]
>> >> org.springframework.jms.UNcategorizedJmsException: UNcategorized
>> >> exception
>> >> occured during JMS processing; nested exception is java.net
>> >> SocketException:
>> >> Broken pipe
>> >>
>> >> javax.jms.JMSException: Broken pipe
>> >>    at org.apache.activemq.util.JMSExceptionSupport.create
>> >> (JMSExceptionSupport.java:57)
>> >>    at org.apache.activemq.ActiveMQConnection.syncSendPacket
>> >> (ActiveMQConnection.java:1118)
>> >>    at
>> >>
>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1196)
>> >>    at
>> >> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:
>> >> 412)
>> >>    ...
>> >>    ...
>> >>
>> >>
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/How-to-restart-ACTIVEMQ-connection-in-spring-framework-tf2158023.html#a5961840
>> >> Sent from the ActiveMQ - User forum at Nabble.com.
>> >>
>> >>
>> >
>> >
>> > --
>> >
>> > James
>> > -------
>> > http://radio.weblogs.com/0112098/
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/How-to-restart-ACTIVEMQ-connection-in-spring-framework-tf2158023.html#a5977709
>> Sent from the ActiveMQ - User forum at Nabble.com.
>>
>>
> 
> 
> -- 
> 
> James
> -------
> http://radio.weblogs.com/0112098/
> 
> 

-- 
View this message in context: http://www.nabble.com/How-to-restart-ACTIVEMQ-connection-in-spring-framework-tf2158023.html#a5981552
Sent from the ActiveMQ - User forum at Nabble.com.


Re: How to restart ACTIVEMQ connection in spring framework

Posted by James Strachan <ja...@gmail.com>.
Remove the discoveryUri attribute from <transportConnector/> If you
want to use discovery then copy the config from the ActiveMQ
distribution which uses multicast

On 8/25/06, Balakumar Narayanasamy <ba...@gmail.com> wrote:
>
> Hi James,
> Idea you have suggest seems to be fine but when i try to implement that i
> got following exceptions
>
> Runtime Exception : Error creatins bean with name in activeMQ.xml and the
> actual exception is
>
> java.io.IOException: DiscoveryAgent scheme NOT recognized
>
> My activemq config in activeMQ.xml is as below
>
> <transportConnectors>
>  <transportConnector name="localhost" uri="tcp://localhost:61616"
> discoveryUri="failover:tcp://localhost:61616"/>
> ....
> </transportConnectors>
> <networkConnectors>
>      <networkConnector name="localhost" uri="failover:tcp//localhost"
> failover="true"/>
> </networkConnectors>
>
> whether this config is correct or i need to do some corrective measure.
> James i need your help in configuring.
>
> Thanks in advance\
>
>
>
>
>
>
>
> James.Strachan wrote:
> >
> > Sounds like you are just loosing a socket connection. How many
> > connections are you creating (use JMX to see this). Is there a bad
> > network or firewall in place that could be dropping sockets?
> >
> > You may wanna use failover: to work around dropped sockets...
> >
> > http://incubator.apache.org/activemq/how-can-i-support-auto-reconnection.html
> >
> > On 8/24/06, Balakumar Narayanasamy <ba...@gmail.com> wrote:
> >>
> >> I am using ActiveMQ 4.0.1 along with spring 1.2.2 framework and
> >> connection
> >> pooling is done by JCA.
> >>
> >> My application communicates to queue to pull and push message. My
> >> application sends thousands of messages to input queue and other
> >> application
> >> pulls from queue, do some processing and writes to another output queue.
> >> My
> >> application reads from output queue.
> >> This process works fine when i deal within thousand request.
> >> But when it goes beyond that i getting following exception
> >>
> >> [2006-08-24 02:57:56] [ERROR]
> >> org.springframework.jms.UNcategorizedJmsException: UNcategorized
> >> exception
> >> occured during JMS processing; nested exception is java.net
> >> SocketException:
> >> Broken pipe
> >>
> >> javax.jms.JMSException: Broken pipe
> >>    at org.apache.activemq.util.JMSExceptionSupport.create
> >> (JMSExceptionSupport.java:57)
> >>    at org.apache.activemq.ActiveMQConnection.syncSendPacket
> >> (ActiveMQConnection.java:1118)
> >>    at
> >> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1196)
> >>    at
> >> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:
> >> 412)
> >>    ...
> >>    ...
> >>
> >>
> >> --
> >> View this message in context:
> >> http://www.nabble.com/How-to-restart-ACTIVEMQ-connection-in-spring-framework-tf2158023.html#a5961840
> >> Sent from the ActiveMQ - User forum at Nabble.com.
> >>
> >>
> >
> >
> > --
> >
> > James
> > -------
> > http://radio.weblogs.com/0112098/
> >
> >
>
> --
> View this message in context: http://www.nabble.com/How-to-restart-ACTIVEMQ-connection-in-spring-framework-tf2158023.html#a5977709
> Sent from the ActiveMQ - User forum at Nabble.com.
>
>


-- 

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

Re: How to restart ACTIVEMQ connection in spring framework

Posted by Balakumar Narayanasamy <ba...@gmail.com>.
Hi James,
Idea you have suggest seems to be fine but when i try to implement that i
got following exceptions

Runtime Exception : Error creatins bean with name in activeMQ.xml and the
actual exception is

java.io.IOException: DiscoveryAgent scheme NOT recognized

My activemq config in activeMQ.xml is as below

<transportConnectors>
 <transportConnector name="localhost" uri="tcp://localhost:61616"
discoveryUri="failover:tcp://localhost:61616"/>
....
</transportConnectors>
<networkConnectors>
     <networkConnector name="localhost" uri="failover:tcp//localhost"
failover="true"/>
</networkConnectors>

whether this config is correct or i need to do some corrective measure.
James i need your help in configuring.

Thanks in advance\







James.Strachan wrote:
> 
> Sounds like you are just loosing a socket connection. How many
> connections are you creating (use JMX to see this). Is there a bad
> network or firewall in place that could be dropping sockets?
> 
> You may wanna use failover: to work around dropped sockets...
> 
> http://incubator.apache.org/activemq/how-can-i-support-auto-reconnection.html
> 
> On 8/24/06, Balakumar Narayanasamy <ba...@gmail.com> wrote:
>>
>> I am using ActiveMQ 4.0.1 along with spring 1.2.2 framework and
>> connection
>> pooling is done by JCA.
>>
>> My application communicates to queue to pull and push message. My
>> application sends thousands of messages to input queue and other
>> application
>> pulls from queue, do some processing and writes to another output queue.
>> My
>> application reads from output queue.
>> This process works fine when i deal within thousand request.
>> But when it goes beyond that i getting following exception
>>
>> [2006-08-24 02:57:56] [ERROR]
>> org.springframework.jms.UNcategorizedJmsException: UNcategorized
>> exception
>> occured during JMS processing; nested exception is java.net
>> SocketException:
>> Broken pipe
>>
>> javax.jms.JMSException: Broken pipe
>>    at org.apache.activemq.util.JMSExceptionSupport.create
>> (JMSExceptionSupport.java:57)
>>    at org.apache.activemq.ActiveMQConnection.syncSendPacket
>> (ActiveMQConnection.java:1118)
>>    at
>> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1196)
>>    at
>> org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:
>> 412)
>>    ...
>>    ...
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/How-to-restart-ACTIVEMQ-connection-in-spring-framework-tf2158023.html#a5961840
>> Sent from the ActiveMQ - User forum at Nabble.com.
>>
>>
> 
> 
> -- 
> 
> James
> -------
> http://radio.weblogs.com/0112098/
> 
> 

-- 
View this message in context: http://www.nabble.com/How-to-restart-ACTIVEMQ-connection-in-spring-framework-tf2158023.html#a5977709
Sent from the ActiveMQ - User forum at Nabble.com.


Re: How to restart ACTIVEMQ connection in spring framework

Posted by James Strachan <ja...@gmail.com>.
Sounds like you are just loosing a socket connection. How many
connections are you creating (use JMX to see this). Is there a bad
network or firewall in place that could be dropping sockets?

You may wanna use failover: to work around dropped sockets...

http://incubator.apache.org/activemq/how-can-i-support-auto-reconnection.html

On 8/24/06, Balakumar Narayanasamy <ba...@gmail.com> wrote:
>
> I am using ActiveMQ 4.0.1 along with spring 1.2.2 framework and connection
> pooling is done by JCA.
>
> My application communicates to queue to pull and push message. My
> application sends thousands of messages to input queue and other application
> pulls from queue, do some processing and writes to another output queue. My
> application reads from output queue.
> This process works fine when i deal within thousand request.
> But when it goes beyond that i getting following exception
>
> [2006-08-24 02:57:56] [ERROR]
> org.springframework.jms.UNcategorizedJmsException: UNcategorized exception
> occured during JMS processing; nested exception is java.net SocketException:
> Broken pipe
>
> javax.jms.JMSException: Broken pipe
>    at org.apache.activemq.util.JMSExceptionSupport.create
> (JMSExceptionSupport.java:57)
>    at org.apache.activemq.ActiveMQConnection.syncSendPacket
> (ActiveMQConnection.java:1118)
>    at
> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1196)
>    at org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:
> 412)
>    ...
>    ...
>
>
> --
> View this message in context: http://www.nabble.com/How-to-restart-ACTIVEMQ-connection-in-spring-framework-tf2158023.html#a5961840
> Sent from the ActiveMQ - User forum at Nabble.com.
>
>


-- 

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