Hi Trong,
Notes inline.
On 18/03/13 12:25, Trong
Tran wrote:
Hi,
We can easily reproduce
the problem in Tomcat by
just reference the
PortalClusteredSSOSupportValve
class in a Servlet Context
listener of a web app, to
load it.
yes, I am able to reproduce
it with Servlet Context
listener. But I am still not
sure if I understand the
usecase. Why you need to
access
PortalClusteredSSOSupportValve
from some Servlet Context
listener on Tomcat? Thing is
that
PortalClusteredSSOSupportValve
is meant to be used only in
JBoss because it uses JBoss
specific clustered SSO
valve. It does not makes
sense to use it in Tomcat.
And it seems that moving
PortalClusteredSSOSupportValve
to packaging/jboss7 won't
solve your issue, because
than you won't be able to
compile your listener anyway
because
PortalClusteredSSOSupportValve
won't be available. But
maybe I still don't
uderstand the usecase...
I am able to have listener
on Tomcat with code like
this and it works without
throwing error:
public class
PortalSSOValveListener
implements
ServletContextListener {
ValveBase
portalClusteredSSOSupportValve;
public void
contextInitialized(ServletContextEvent
sce) {
if (new
J2EEServerInfo().isJBoss())
{
PortalClusteredSSOSupportValve
casted =
(PortalClusteredSSOSupportValve)portalClusteredSSOSupportValve;
// Do something
with the valve
}
}
public void
contextDestroyed(ServletContextEvent
sce) {
}
private ValveBase
findValve() {
// TODO: Find valve
somehow...
return null;
}
}
I can see that it has been
changed in
org.apache.catalina.valves.ValveBase
since Tomcat API 7.0 which
already defined a final start()
method from its indirect
parent class
org.apache.catalina.util.LifecycleBase
http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/valves/ValveBase.html
I confirmed that the
problem doesn't happen in
JBoss, so I guess this api
part is not consistent
between Tomcat and
JBossWeb.
yes, It sucks that this api
is changed...
In addition, there is no
error in compile time as
it is using tomcat
catalina version 6.0.29
declared in gatein-dep.
Hmm... I tried to run "mvn
dependency:tree" in module
component/web/security where
PortalClusteredSSOSupportValve
currently is. And I am
seeing that it's using
jboss.web:jbossweb:jar:2.1.3.GA:provided
for compilation.
Marek
Thanks,