You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by damitha kumarage <da...@opensource.lk> on 2004/06/24 08:05:41 UTC

Axis C++ Web service hot deploy

Hi,
    I'll briefly explain my scenario before I put my problem.

Axis C++ apache module loads Axis C++ soap engine when apache loads.
For each Axis C++ web service deployed the web service library is
available in some folder, say in /usr/local/Axis/webservices which can
be located by Axis C++ soap engine.

Now when a request arrives for the web service Axis C++ soap engine
dynamically loads the web service library and serve the request.

Now when I  make some change to the service library and redeploy
it to /usr/local/Axis/webservices folder without restarting apache
then the new service library and older service library both seems
to serve the requests.

I think this is because the process used
by the older library to serve,  is still alive.

Because of this it is not possible to hot deploy a new version(with only
implement changes, not api changes) of an existing service 
library.

Does anyone know how to avoid this kind of problem?

thanks,
damitha
 
    


RE: Axis C++ Web service hot deploy

Posted by Susantha Kumara <su...@opensource.lk>.
On windows you cannot remove/replace the service dll without shutting
down the server(apache). This is because the service dll is loaded and
kept loaded by AxisServer. I have not checked on Linux.

If we need this functionality of updating the service library without
shutting down the server (apache) we can add these functionality to the
admin client and server in the future. 


Susantha Kumara
---

> -----Original Message-----
> From: damitha kumarage [mailto:damitha@opensource.lk]
> Sent: Thursday, June 24, 2004 12:06 PM
> To: axis-c-dev@ws.apache.org
> Subject: Axis C++ Web service hot deploy
> 
> Hi,
>     I'll briefly explain my scenario before I put my problem.
> 
> Axis C++ apache module loads Axis C++ soap engine when apache loads.
> For each Axis C++ web service deployed the web service library is
> available in some folder, say in /usr/local/Axis/webservices which can
> be located by Axis C++ soap engine.
> 
> Now when a request arrives for the web service Axis C++ soap engine
> dynamically loads the web service library and serve the request.
> 
> Now when I  make some change to the service library and redeploy
> it to /usr/local/Axis/webservices folder without restarting apache
> then the new service library and older service library both seems
> to serve the requests.
> 
> I think this is because the process used
> by the older library to serve,  is still alive.
> 
> Because of this it is not possible to hot deploy a new version(with
only
> implement changes, not api changes) of an existing service
> library.
> 
> Does anyone know how to avoid this kind of problem?
> 
> thanks,
> damitha
> 
>