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
