问题
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 and 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
@EJBinjections 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?
回答1:
Here are a few things to try out:
- No need to replace
@EJBby JNDI lookup. Your@EJBwill 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.
来源:https://stackoverflow.com/questions/4704729/correct-way-to-turn-ear-module-into-osgi-bundle