correct way to turn EAR module into OSGI bundle
There is a necessity to turn part of EAR (namely - war) into OSGI bundle and retain it's interoperability. Glassfish 3.0.1 already has osgi-web-container
module an开发者_如何学运维d I succeeded to deploy standalone OSGI war.
But in case of of ex-enterprise war it looks a bit difficult to me.
- What do I do with EJB calls from
inside future OSGI war? Is it enough
to replace
@EJB
injections with true JNDI lookups? - What about APIs and libraries shared across EAR? I could split and rearrange them, but still I will have at least one jar needed by both EAR and OSGI war. Duplicate, make it as OSGI-bundle itself and make it available to ear somehow, place it GF domain's library path?
- Any other ideas, advices which could make that hybrid working?
Here are a few things to try out:
- No need to replace
@EJB
by JNDI lookup. Your@EJB
will continue to work even inside your OSGi War (aka WAB). - You can install the shared library as a bundle, then it will be visible to both OSGi war as well as legacy EAR/WAR.
I suggest you follow up in GlassFish forum.
精彩评论