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.

Reply via email to