Hi Rex,

Aries application in 0.3 and upwards has only very basic support for updating 
bundles inside an EBA (rather than bouncing the whole EBA). Implementing a safe 
in-situ update can be added via the UpdateStrategy plug point.

Now in your scenario I imagine you would need to call refreshPackages to break 
the links from b.wab to the old a.jar. Simply stopping b.wab does not break the 
link to the old imported packages and b.wab will continue to use the classes 
from the old a.jar even when the new a.jar is available.

A minimal order of steps would be:
uninstall the old a.jar
install the new a.jar
call refreshPackages either with null or on the old a.jar Bundle object (this 
will under the covers restart b.wab if necessary)

Note though that there are a number of concerns with the minimal strategy when 
there are transactions and active web requests involved ... for that matter 0.3 
has the quiesce API to provide hook points for a more gentle stopping of 
bundles.

Hope this helps,

Valentin

On 15 Mar 2011, at 09:27, Rex Wang wrote:

> Hi,
> 
> There is an use case in geronimo(with aries application 0.2.1) that trying
> update a bundle within an EBA, that is:
> 
> SampleEBA:
> - a.jar
> - b.wab
> 
> the question is when I try to do a bundle update for a.jar, and then restart
> b.wab
> seems b.wab still uses the old a.jar and not try using the new updated one.
> 
> So, is this a correct way to update a bundle in EBA, or does Aries
> application support such update?
> 
> 
> -- 
> Lei Wang (Rex)
> rwonly AT apache.org

Reply via email to