You don't say how frequently it performs this action?  If it is frequent,
and I were debugging it, the first thing I would check for would be that
you haven't run out of socket filehandles.  On a unix system running
something like "netstat -nt" can tell you what state the socket filehandles
are in.  If there are too many in the TIME_WAIT state, for example, it can
exhaust your available filehandles and it won't be able to make a new
socket connection until the OS allows them to expire.  This exhaustion can
easily happen if your program is only using a limited set of ports on the
client side as well, and I could imagine that might be logged as an
"address in use" error.

Jim


On Thu, Mar 10, 2016 at 8:07 AM Timothy Bish <tabish...@gmail.com> wrote:

> On 03/10/2016 10:37 AM, spamtrap wrote:
> > [ActiveMQ-CPP v3.9.0]
> >
> > We have a c++ program which connects to a broker, sends a message to a
> > topic and then closes the connections & exits.  Every now and then it
> > fails to connect reporting a "Address already in use" exception
> > (based on ex.what()).
> >
> > The code is like this:
> >
> > ----- cut ------
> >     try {
> >       pConnectionFactory =
> > cms::ConnectionFactory::createCMSConnectionFactory(
> >               brokerURI);
> >       pConnection = pConnectionFactory->createConnection();
> >     } catch (cms::CMSException &ex)
> >     {
> >        fprintf(stderr, "CMSException: \n");
> >        ex.printStackTrace();
> >        ...
> >     }
> > ----- cut ------
> >
> > ex.printStackTrace prints nothing even though I am using the following
> > connection string (broker URI):
> > "tcp://localhost:61616?wireFormat.stackTraceEnabled=true"
> >
> > How can I get more information about this problem?
> >
> >
> >
> You'd need to do some debugging on the client end to see what is causing
> this, not been reported before.
>
> --
> Tim Bish
> twitter: @tabish121
> blog: http://timbish.blogspot.com/
>
>

Reply via email to