Hello list,

I have a problem with a Axis2 service and need some input if my service is developed the right way. Inside my service I make a call to a external library. So I make a variable of the object and put it on the stack. So normally the instance should be destroyed when the scope is lost. I think this is done when the execution of the service is finished and the output is given back to the client.
Am I right?

By doing this I had a strange problem. The mentioned service is called every 10 sec to give a state to the client. First I was running the service in Axis2 version 1.4 and get about every two hours an AxisFault: Too many open files. So I think that the destructor of my variable was not called and that I have memory leaks. After that I integrated a log message in the destructor to see, if it is called. Normally my service is running inside an Apache installation and I never saw the output of the log
message.

Nevertheless if I run the service in axis simple server I see the log output and so I think the implementation of my service is correct. When running the service inside the axis simple server I also get AxisFault, but after about 12 - 14 hours runtime. After searching the mailing list I found, that there is a memory leak in the mod_axis apache modul. So I compiled Axis2 from SVN and the service is running for about
17 hours without any problem.

So to my question: Have I done something wrong in the implementation of my service by putting the instance on the stack and not explicitly calling the destructor or could it be that the SVN version fixes the problem? Nevertheless, why I'm getting the message by running the service inside the axis simple server, where I
see that the destructor is called?

Kind regards
Michael

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to