>
> Let me first describe how Hot update works in axis2, correct me if I
> am wrong but from what I have figured out so far, axis2 repository
> listener task calls unDeploy method of the deployer implementation
> first and then calls the deploy method again to deploy the artifact
> with the changes.
Yes that is correct.
>
> So this approach has two issues,
>
>    1. There is a considerable downtime of the artifact which is being
>       hot updated
>
In Axis2, specially in production hot deployment is not something people
are going to use regularly. So downtown or hot-update is not an big
issues (rather they will turn off both hot-deployment and hot-update)
>
>    1. There is no means of knowing the case where the undeploy method
>       being called, for example synapse needs to have a main sequence
>       for it to operate properly, so synapse has to force the user to
>       not to undeploy the main sequence while it should allow the user
>       to hot update it.
>
You can do this with your deployer.
>
> I propose adding a update method to the Deployer interface or passing
> the state as an argument, 
I would consider undeploy as the update method you can do whatever you
want there, and you can just ignore at when it call deploy method.
(I know in undeploy method you only get the filename, but since your
deployer is domain specific you know what to do with the file name)
> we could use the DeploymentFileData class to provide the operation, 
Thanks,
Deepal

Reply via email to