I think I figured out how to add more handlers. I got the geronimo-
jetty6 tests to pass modulo JETTY-119: the jetty WebAppContext
currently pokes around in SecurityHandler's internal state and
removes our jacc-using JettySecurityHandler.
In the geronimo-jetty6 module whats left is:
-convert before-afters to Handlers and install them in the right place.
-hook up the appropriate SessionHandler, which requires at least more
info on the AbstractSessionManager question below.
Other remaining work is moving over the javaee5 xml parsing/munging
code and the geronimo-jetty6-builder module.
Do we want to try to support a j2ee1.4 jetty6 version or just jee5
jetty6?
thanks
david jencks
On Sep 16, 2006, at 4:21 PM, David Jencks wrote:
I committed an initial stab at a jetty6 module. I copied the
existing jetty5 module from trunk, tried to apply all the changes
Jan made in the servlet 2.5 branch, and then tried to figure out
how to hook in Gianni's clustering stuff. It now compiles and some
tests appear to pass, others fail so are disabled.
Overall I think we will end up with a much simpler integration than
with jetty5. I've already eliminated several classes.
Current issues:
-- I don't understand all the details of setting up handler
chains. It looks like the jetty web app context accepts 4 specific
handlers, and I want to have handlers to replace each before-after
we had to use for jetty5. My current guess is that I have to do
something like make a SecurityHandler that includes all the
geronimo handlers inside it. This doesn't seem quite right....
hoping further investigation will disclose the one true way.
-- AbstractSessionManager doesn't seem to support importing
sessions or exporting them. I think it needs to extract a method
like:
protected void registerSession(Session session) {
synchronized(_sessionIdManager)
{
synchronized(this)
{
_sessions.put(session.getId(),session);
_sessionIdManager.addSession(session);
if (_sessions.size() > this._maxSessions)
this._maxSessions = _sessions.size ();
}
}
}
from
public HttpSession newHttpSession(HttpServletRequest request)
{
Session session = newSession(request);
session.setMaxInactiveInterval(_dftMaxIdleSecs);
synchronized(_sessionIdManager)
{
synchronized(this)
{
_sessions.put(session.getId(),session);
_sessionIdManager.addSession(session);
if (_sessions.size() > this._maxSessions)
this._maxSessions = _sessions.size ();
}
}
HttpSessionEvent event=new HttpSessionEvent(session);
for(int i=0;i<LazyList.size(_sessionListeners);i++)
((HttpSessionListener)LazyList.get
(_sessionListeners,i)).sessionCreated(event);
return session;
}
(I don't know if the sessionEvent should be sent from the proposed
register method)
and a similar unregister method.
I'll also ping the jetty lists with my questions.
Thanks
david jencks
On Sep 15, 2006, at 7:28 PM, David Jencks wrote:
I actually got a server using the jta11 tm to start!
I've renamed sandbox/jee5-jta to sandbox/javaee5 and encourage
everyone to add jee5 features here (at least if they don't break
the build for long :-).
I'm going to continue working on the jpa stuff and see if I can
help get jetty 6 going again -- the stuff in servlet2.5 hasn't
kept up with trunk changes very well lately.
many thanks!
david jencks
On Sep 14, 2006, at 3:59 PM, David Jencks wrote:
I'm trying to get a jpa-aware server constructed so I can see if
my code actually works so I've been setting up sandbox/jee5-jta
so we can have jee5 modules, configs, and assemblies. I think
this might be an ok place to work on other jee5 stuff like the
jetty6 integration without duplicating the entire server and
dealing with the associated update headaches.
thoughts?
thanks
david jencks