Updating a deployment revision

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Updating a deployment revision

Thomas Diesler
Folks,

I'm looking at bundle update and package refresh. In OSGi a bundle can have multiple revisions, only one revision is active at a time. A revision can be "in use" and "removal pending"

A revision can be added by Bundle.update(). The existing wires to a revision are not touched when a new revision is added.  i.e. components that have a wire will continue to use the (old) revision and therefore the (old) class loader until the user explicitly refreshes the transitive graph of effected wirings and establishes a new wiring using the current revisions. If the last user of a revision is removed, a "removal pending" revision is not in use any more - it automatically gets removed too.

I'm trying to map these concepts to what we have in AS8 (what we will need in AS9)

So now the question ….

If deployment A has a dependency on B and B gets replaced with a new version (i.e. deploy --force B) what is supposed to happen?

cheers
--thomas
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Thomas Diesler
JBoss OSGi Lead
JBoss, a division of Red Hat
xxxxxxxxxxxxxxxxxxxxxxxxxxxx




_______________________________________________
jboss-as7-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
Reply | Threaded
Open this post in threaded view
|

Re: Updating a deployment revision

Thomas Diesler
I investigated this use case here a little

https://issues.jboss.org/browse/AS7-6761

On Mar 20, 2013, at 11:58 AM, Thomas Diesler <[hidden email]> wrote:

> Folks,
>
> I'm looking at bundle update and package refresh. In OSGi a bundle can have multiple revisions, only one revision is active at a time. A revision can be "in use" and "removal pending"
>
> A revision can be added by Bundle.update(). The existing wires to a revision are not touched when a new revision is added.  i.e. components that have a wire will continue to use the (old) revision and therefore the (old) class loader until the user explicitly refreshes the transitive graph of effected wirings and establishes a new wiring using the current revisions. If the last user of a revision is removed, a "removal pending" revision is not in use any more - it automatically gets removed too.
>
> I'm trying to map these concepts to what we have in AS8 (what we will need in AS9)
>
> So now the question ….
>
> If deployment A has a dependency on B and B gets replaced with a new version (i.e. deploy --force B) what is supposed to happen?
>
> cheers
> --thomas
> xxxxxxxxxxxxxxxxxxxxxxxxxxxx
> Thomas Diesler
> JBoss OSGi Lead
> JBoss, a division of Red Hat
> xxxxxxxxxxxxxxxxxxxxxxxxxxxx
>
>
>
>
> _______________________________________________
> jboss-as7-dev mailing list
> [hidden email]
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev

xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Thomas Diesler
JBoss OSGi Lead
JBoss, a division of Red Hat
xxxxxxxxxxxxxxxxxxxxxxxxxxxx




_______________________________________________
jboss-as7-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev