[sorry for the long email]
The behaviour between the Tomcat and JBoss versions of GateIN is
different in regards to the deployment of portlets.
The WCI module has two different ways in which portlets can be deployed:
- generic deployment: the web.xml of the portlet contains a special
servlet or servletlistener which discovers the portlet.
The special servlets add their webapp to a list which wait for a wci
generic listener to be run. If the generic listener is not run, then the
list still gets created but nothing happens with it.
This is similar to how the eXo portal would handle portlet discovery.
- container specific: the server is setup to intercept wars being
deployed. The portlet itself doesn't need to have anything special done
to it so that it can be deployed (ie no special servlets/listeners
needed). This setup will find portlets regardless if the special
servlets are added or not.
The special servlet/listeners will still create the list of webapps, but
since the wci generic listener is not deployed nothing will happen with
that list.
This is similar to how the JBoss portal would handle portlet discovery
(ie nothing special needed).
In order to determine which type to use we need to specify it in the
web.xml of the integration war. They are mutually exclusive, so if you
specify both in the integration war then the first one that is started
will be used.
In the JBoss version of GateIN we use the container specific
implementation. This means we have (mostly) backwards compatibility with
portlets that would have worked on JBoss Portal or eXo portal.
In the Tomcat version of Gatein we use the generic implementation. This
means we have (mostly) backwards compatibility with portlets that would
have worked on eXo portal.
The Tomcat version can be switched to use the container specific
implementation by removing the commenting around the servlet in its
web.xml (and commenting out the listener).
I would like to switch the behaviour of the Tomcat version to use the
container specific wci implementation so that both versions behave the
same and so that we can get backwards compatibility with JBoss portal
portlets.
Is there any objections to switching over to this behaviour?