Hi all,

 

I have a question concerning the usage of a ServiceMixClient. When we
create a ServiceMixClient instance using the default JNDI lookup name
then the memory usage increases every time we send a message using the
send function. It does not matter if the ServiceMixClient is kept static
or not. See http://docs.huihoo.com/apache/servicemix/client-api.html and
our example code:

 

ServiceMixClient client = null;

if(client == null)

{

try

      {

            ClientFactory factory = (ClientFactory) new
InitialContext().lookup(ClientFactory.DEFAULT_JNDI_NAME);

            client = factory.createClient();

}

catch (NamingException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

catch (JBIException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

//client = new ServiceMixClientFacade(context);

}

 

Please don't take offend at the code, it is just some test code for
debugging purposes!

When we use the context from a MessageExchangeListener implementation
then the memory usage stays at about the same level. Again it does not
matter if the ServiceMixClient is kept static or not. See our example
below:

 

@Resource 

protected ComponentContext context;

 

...

 

ServiceMixClient client = null;

if(client == null)

{

/*try

      {

ClientFactory factory = (ClientFactory) new
InitialContext().lookup(ClientFactory.DEFAULT_JNDI_NAME);

client = factory.createClient();

}

catch (NamingException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

catch (JBIException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}*/

client = new ServiceMixClientFacade(context);}

}

 

My question is are we doing something wrong? And if so how should be
create a ServiceMixClient without using the context from the
MessageExchangeListener implementation? And secondly is there any
(known) memory leak in the first method? What causes this behavior?

 

Thanks in advance,

 

Jeroen Ninck Blok



 



This e-mail and any attachment is for authorised use by the intended 
recipient(s) only. It may contain proprietary material, confidential 
information and/or be subject to legal privilege. It should not be copied, 
disclosed to, retained or used by, any other party. If you are not an intended 
recipient then please promptly delete this e-mail and any attachment and all 
copies and inform the sender. Thank you.

Reply via email to