dev@glassfish.java.net

Re: deployment issues

From: Hong Zhang <Hong.Zhang_at_Sun.COM>
Date: Thu, 15 Oct 2009 21:18:34 -0400

Hi, Bill

> A few of us have been discussing some issues with deployment recently and
> I'd like to let everyone know what we ended up with and get your
> feedback.
>
> We have three ways to deploy an application using the command line and
> two cases to consider for each operation.
>
> Here's what we came up with:
>
> | foo does not exist | foo exists
> ------------------------------------------------------------
> deploy foo.war | + | X
> deploy --force foo.war | + | + [2]
> redeploy foo.war | + [1] | +
>
Today's behavior for "redeploy foo.war" is we would fail redeployment
when "foo does not exist". If we are not going to make any of the
changes for [1], this row should remain like this?

redeploy foo.war | X | +

Also today's behavior for "deploy foo.war" when "foo exists" is we would
resolve the name conflict and assign a new name, so we have decided we
would fail that case? I agree failing would be more user friendly, I
implemented the resolving name part only because I thought that was the
spec requirement. If by having the --name option already satisfies the
spec requirement, I will be happy to make this change. :-)

Thanks,

- Hong

>
> Possible outcomes:
>
> X - command fails
> + - command succeeds, app "foo" is deployed
>
> There were two changes we considered:
>
> 1. Should redeploying an app that isn't deployed be an error? Is it
> likely
> that you made a mistake if you try to redeploy something that isn't
> deployed to begin with? If you don't care whether or not it's already
> deployed why not use deploy --force?
>
> 2. Should deploy --force with an app that's already deployed cause the
> app to be deployed under a different name? The Java EE spec allows
> (but does not require) the deployment tool to choose a different name
> for the app if the name conflicts with an already deployed
> application.
> Does --force really mean "replace this app if it's already there", or
> does it mean "deploy this new app no matter what, without disturbing
> other apps that might be deployed"?
>
> Either of these changes would cause redeploy and deploy --force to behave
> differently. We were worried about the compatibility impact of such a
> change,
> both with v2 (for which deploy is already incompatible because --force is
> the default in v2), and with v3 where people have come to expect these
> two
> commands to behave the same.
>
> If anyone feels strongly that we should make either of these changes,
> let me know.
>
> Thanks.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>