dev@glassfish.java.net

Re: [arch] add a new asadmin redeploy option or reuse existing one for the new EJB feature?

From: Vince Kraemer <vince.kraemer_at_oracle.com>
Date: Wed, 09 Jun 2010 13:38:40 -0700

I have a couple thoughts about Tim's proposal (item 2).

I think --keepState should accept 0 or more 'container identifiers'...

The interpretation would be thus:

--keepState means 'all containers which are capable of retaining their
state across a redeployment are instructed to do so'

--keepState=ContainerID1 means 'the container identified by ContainerID1
is instructed to retain its state across this redeployment'

--keepState=ContainerID1,...ContainerIDN means 'all the containers
identified by the listed ContainerIDs are instructed to retain their
state across this redeployment'

One other thing... we may end up needing to have a way to get the
names/ContainerIDs that support state-retention. This request would be
similar to Anissa's cli request for a command to get the legal values
for --target.

vbk

Tim Quinn wrote:
> [snip]
>
> 2. Now that multiple containers will support this type of behavior, it
> might be more intuitive for users to have a new option (not a
> property, an option)
>
> --keepState
>
> which can accept one or more values identifying the container types to
> enlist in the state-keeping behavior. For example:
>
> asadmin redeploy ... --keepState=web,ejb
>
> would cause both containers to maintain whatever "state" means to
> them. Thus
>
> ... --property=keepSessions=true
>
> and
>
> ... --keepState=web
>
> would be equivalent.
>
>
> - Tim
>
> On Jun 9, 2010, at 1:15 PM, Marina Vatkina wrote:
>
>> Bill, Arch team,
>>
>> EJB enhancement for GlassFish 3.1 proposes support for retaining SFSB
>> / EJB Timer state across redeployment (see section 4.1.5 in
>> http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishv3.1EJBOnePager)
>> <http://wiki.glassfish.java.net/Wiki.jsp?page=GlassFishv3.1EJBOnePager%29>.
>>
>> The original proposal was to add a new CLI option to 'asadmin
>> redeploy' for this purpose called 'keepEjbState' in addtion to the
>> existing 'keepSession' option.
>>
>> While having two separate options clearly identifies the intent of
>> the operation, it can be confusing to the user who has both, a web
>> component and an ejb component in their application (in particular
>> with Java EE 6 allowing to combine both in a single WAR). On the
>> other hand, eusing 'keepSession' option for both purposes can be
>> confusing for applications that do not have a web component.
>>
>> One more question: would it make sense to rename 'keepEjbState' to
>> 'keepState' for future (non-EJB) extensions? If yes, would it be even
>> more confusing to have both options around?
>>
>> Here are the choices that we are looking at:
>> 1. Add 'keepEjbState' in addtion to 'keepSession'
>> 2a. Add 'keepState' in addtion to 'keepSession'
>> 2b. Deprecate 'keepSession', and use 'keepState' instead
>> 3. Reuse 'keepSession' for any 'keep' option.
>>
>> Please advice.
>>
>> thanks,
>> -marina
>
>
>
> Oracle <http://www.oracle.com>
> Tim Quinn | Principal Member of Technical Staff | +1.847.604.9475
> Oracle GlassFish Engineering
> Lake Forest, IL
>