Description
On jsf 1.2 and earlier, it was only necessary one point for integrate an application container, an that was LifecycleProvider2, to handle @PostConstruct and @PreDestroy annotations.
But on jsf 2.0, many stuff has been introduced that requires provide spi interfaces, so application containers could integrate better.
One problem is how to handle jsf libraries outside WEB-INF/lib directory, or how to customize some algorithms that requires knowledge of the container protocols.
It is also known protocols like "jar:" to cause problems, when you try to scan files, because it is necessary to open a jar file and scan all entries to find just one file (see MYFACES-2583 and MYFACES-2833 for details).
I think we should introduce two new packages called org.apache.myfaces.spi and org.apache.myfaces.spi.impl to deal with this stuff.
Based on the class names found on com.sun.faces.spi package, we should provide the following points:
- Handling of @PostConstruct and @PreDestroy (done in LifecycleProvider2)
- Annotation scanning: containers could have this code duplicated or a framework to deal with stuff like that, so it should be a possibility to override/extend.
- faces-config.xml and facelet-taglib.xml additions: It should be possible to add resource files to be included in the process.
- Serialization (partially done on SerialFactory interface) : Jboss provide its own serialization solution.
At this time it is not very clear how this interfaces should looks like. I'll provide a proposal for this stuff, but it will take some time, because it is necessary to think carefully each interface.
Attachments
Issue Links
- incorporates
-
MYFACES-2860 Provide AnnotationScanner interface
- Closed