Make Trinidad OSGi ready
------------------------
Key: TRINIDAD-1901
URL: https://issues.apache.org/jira/browse/TRINIDAD-1901
Project: MyFaces Trinidad
Issue Type: Improvement
Affects Versions: 2.0.0.3-core
Reporter: Frank Mittag
Hi,
it would be great to create an OSGi ready version of Trinidad (and MyFaces).
I'm using Trinidad together with MyFaces in the Eclipse Virgo runtime (former
Spring DM Server), but the problems are valid for every OSGi environment.
In the first place the API and the IMPL jars need an updated/improved
OSGi-ready MANIFEST file exposing the typical OSGi metadata. The content could
be created with tools like BND from Peter Kriens which could run as part of the
build process (see other projects like Apache Felix, etc.)
But normally this is not enough the make a library OSGi-ready. The nature of
OSGi allows to run several TRINIDAD's in parallel in the same runtime even in
different versions.
This leads often to conflicts with singleton objects or class loading issues.
There are different usage scenarios where Trinidad should fit:
1. Scenario: Usage of TRINIDAD in two different web apps inside an OSGi runtime.
So you have ideally
1 API bundle
1. WAR with the IMPL jar in the lib folder
2. WAR with the IMPL jar in the lib folder
or
1. WAR with the API jar and the IMPL jar in the lib folder
2. WAR with the API jar and the IMPL jar in the lib folder
2.Scenario: Usage of TRINIDAD in different web apps in two different versions
inside an OSGi runtime.
So you have ideally
1 API bundle 1.2.14
1 API bundle 2.0.0.3
1. WAR with the IMPL 1.2.14 jar in the lib folder
2. WAR with the IMPL 2.0.0.3 jar in the lib folder
3. WAR with the IMPL 2.0.0.3 jar in the lib folder
or
1. WAR with the API jar and IMPL 1.2.14 jar in the lib folder
2. WAR with the API jar and IMPL 2.0.0.3 jar in the lib folder
3. WAR with the API jar and IMPL 2.0.0.3 jar in the lib folder
Even more better would be to have just one API and IMPL bundle in the whole
runtime and just reference the bundles from the web app, but I guess this would
probably require some refactoring of TRINIDAD.
The pattern also applies to the MYFACES libs.
Regards,
Frank
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.