Barracuda and using Servlet 2.3 features?
Jacob Kjome <[email protected]>
| Newsgroups | gmane.comp.java.enhydra.barracuda.general |
|---|---|
| Message-ID | <[email protected]> |
Hi everyone,
Just wondering how important Servlet 2.2 compatibility is for everyone
using Barracuda?
I was considering modifying DefaultApplicationAssembler to use
getResourcePaths(String), which was added to the servlet api as of servlet
2.3, to load multiple event gateway xml files. The benefit of this would
be that one could specify a single event gateway xml file or a partial
pattern that all event gateway xml files to be loaded match and this would
work both when deploying from a directory or from a .war file because no
File IO is involved. For instance, one could have...
WEB-INF/
event-gateway-bconfig.xml
event-gateway-myapp.xml
event-gateway-otherapp.xml
Then in web.xml, you would have either....
<!-- Load only event gateway for myapp -->
<init-param>
<param-name>AssemblyDescriptor</param-name>
<param-value>/WEB-INF/event-gateway-myapp.xml</param-value>
</init-param>
or...
<!-- Load all event gateway xml files with the pattern "event-gateway-" -->
<init-param>
<param-name>AssemblyDescriptor</param-name>
<param-value>/WEB-INF/event-gateway-</param-value>
</init-param>
or even...
<!-- Load all event gateway xml files in the "customconfig" directory -->
<init-param>
<param-name>AssemblyDescriptor</param-name>
<param-value>/WEB-INF/customconfig/</param-value>
</init-param>
The current way of loading multiple event gateway xml files uses File IO
and, therefore, is very sensitive to how the app is deployed. It must be
deployed as a directory or else things break. This is why File IO should
*never* be used within a web application, much less a framework for use
within web applications. Of course the current way benefits from the fact
that it doesn't require support for servlet 2.3, only servlet 2.2.
Anyway, let me know how ready you are to move to requiring Servlet 2.3.
later,
Jake