geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rex Wang <>
Subject Re: [Discussion] Update a bundle within an EBA
Date Wed, 16 Mar 2011 06:03:20 GMT
2011/3/16 David Jencks <>

> It looks to me as if the jiras just say you'd like this feature without
> explaining how it would work.
> Even though we don't yet have an isolation environment in geronimo, I'd
> like to know how this would work if we did.
> Lets say you have an EBA with bundles A, B, and C, B imports packages from
> A and services from A and C, C imports packages and services from A, B, and
> C.  Now you want to replace B with B' .  What are the state changes for A,
> B, B', and C in what order?

To make the case clear, the Sample is
- A
- B (import A's packages and A&C's services)
- C (import A&B&C's  packages and services)

If we plan to update B, we don't need to take care too much of its imports.
The problem is C. I think, at least for Aries 0.2.1, We can just trigger B
to refresh(i.e. packageAdmin.refreshPackages(B)), which will force the
bundles depending on it to re-resolve. Then C will get the new B's content.
We don't need manually refresh the state of A and C.

> Can B' alter the import requirements for the EBA?
> If the EBA defines an isolation environment, how does the deployer know
> that it should be putting B' inside the EBA rather than outside the EBA?
> If we can make this work, great, I want to be sure we won't have to rip it
> out again or completely reimplement it when we have subsystems.
I am afraid this might be the things we can not avoid. Now we are using the
Aries 0.2.1 which only implements very basic isolation. Aries and OSGi
subsystems is still on progress, we have not yet know how much changes in
future that will bring to Geronimo. So this solution is just for the current
user's requirements.


> thanks!
> david jencks
> On Mar 15, 2011, at 8:06 PM, han hongfang wrote:
> Hi all,
> I would like to hear the comments for the solution proposal for updating a
> bundle within an EBA, and the related JIRAs are:
> Update a bundle
> within an EBA
> Update a bundle within
> an EBA
> The point of the JIRA is to ONLY re-deploy the updated bundle in EBA
> instead of re-assembling and re-deploying the whole EBA to save the time in
> the case that the EBA is huge.
> The rough proposal is:
> Step 1. update a specified bundle using osgi:update
> Step 2. osgi:refresh the other bundles in the EBA to refresh the links to
> the updated bundle
> This means that the updated bundle will be only in the cache, and in the
> following cases the updated bundle will be lost, and the original bundle
> included in EBA archive file comes back.
> 1. Start geronimo server with -clean option
> 2. Restart EBA application in Admin console -> Application EBAs
> This new feature is designed for application development phase to speed up
> application testing, and it can be turned off in GEP in case that user wants
> to re-deploy the whole EBA with any update.
> Any comments on the solution?
> --
> Best regards,
> Han Hong Fang (Janet)
> hanhongfang AT

Lei Wang (Rex)
rwonly AT

View raw message