Hi guys,

I managed to introduce the core submodule "implee6" on my local machine.
This new submodule includes Java EE 6 dependencies and thus you can use
Servlet API 3.0 and other new things in it.

When building MyFaces, this new submodule is built before the normal impl
submodule. Then the .class and the .java files are "injected" into the
impl-build. This is very similar to how shared_impl is included in the
myfaces-impl build at the moment, but without recompilation.

In this way we are able to use the new services approach of Java EE 6 to get
rid of the Faces Servlet entries in web.xml, because in any Java EE 6
container we can configure this dynamically at startup (see MYFACES-2579 for
details). This also works fantastically on my local machine - it's really
cool!

Also with this method we are still Java EE 5 complaint, because the EE 6
classes just won't get loaded in a non EE 6 environment, because there are
no dependencies from impl or shared to them. They are only called (and
loaded) by a Java EE 6 container via the services definition.

Furthermore I noticed that the Mojarra guys also include a similar solution
to this in their newest build!

Now, before I commit something of this, I wanted to ask if there are any
objections with this proposal. If so, please tell me your concerns!

Regards,
Jakob

Reply via email to