You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by gd...@apache.org on 2006/09/15 17:02:16 UTC

svn commit: r446624 [4/4] - in /geronimo/server/trunk: ./ assemblies/geronimo-jetty-j2ee/ configs/jetty-clustering-builder-wadi/ configs/jetty-clustering-builder-wadi/src/ configs/jetty-clustering-builder-wadi/src/plan/ configs/jetty-clustering-wadi/ c...

Added: geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/cluster/ClusteredSessionManager.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/cluster/ClusteredSessionManager.java?view=auto&rev=446624
==============================================================================
--- geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/cluster/ClusteredSessionManager.java (added)
+++ geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/cluster/ClusteredSessionManager.java Fri Sep 15 08:02:12 2006
@@ -0,0 +1,348 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.jetty.cluster;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.security.Principal;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.apache.geronimo.clustering.SessionAlreadyExistException;
+import org.apache.geronimo.clustering.SessionListener;
+import org.apache.geronimo.clustering.SessionManager;
+import org.mortbay.jetty.servlet.AbstractSessionManager;
+
+
+/**
+ *
+ * @version $Rev$ $Date$
+ */
+public class ClusteredSessionManager extends AbstractSessionManager {
+    private static final Object ALL_SESSION_PLACEHOLDER = new Object();
+    
+    private final SessionManager sessionManager;
+    
+    public ClusteredSessionManager(SessionManager sessionManager) {
+        this.sessionManager = sessionManager;
+
+        String workerName = sessionManager.getNode().getName();
+        workerName = workerName.replaceAll(" ", "");
+        setWorkerName(workerName);
+        // implementation note: enables cross context session id such that a mock HttpServletRequest having a defined 
+        // requestedSessionId attribute can be used to re-create an HttpSession with a defined session ID in this
+        // manager.
+        setCrossContextSessionIDs(true);
+        
+        sessionManager.registerListener(new MigrationListener());
+
+        // sessions are not removed by this manager. They are invalidated via a callback mechanism
+        setMaxInactiveInterval(-1);
+    }
+
+    protected Session newSession(HttpServletRequest request) {
+        return new ClusteredSession(request);
+    }
+
+    private class MigrationListener implements SessionListener {
+        
+        public void notifyInboundSessionMigration(org.apache.geronimo.clustering.Session session) {
+            String sessionId = session.getSessionId();
+            synchronized (__allSessions) {
+                if (__allSessions.containsKey(sessionId)) {
+                    throw new IllegalStateException("ID [" + sessionId + "] is already defined.");
+                }
+                __allSessions.add(sessionId, ALL_SESSION_PLACEHOLDER);
+                newHttpSession(new RequestWithBoundSession(session));
+                __allSessions.removeValue(sessionId, ALL_SESSION_PLACEHOLDER);
+            }
+        }
+        
+        public void notifyOutboundSessionMigration(org.apache.geronimo.clustering.Session session) {
+            String sessionId = session.getSessionId();
+            synchronized (__allSessions) {
+                __allSessions.remove(sessionId);
+            }
+
+            synchronized (_sessions) {
+                _sessions.remove(sessionId);
+            } 
+        }
+    }
+
+    protected class ClusteredSession extends Session {
+        private static final String FORCE_SET_VALUES = "$$$JETTY_FORCE_SET_VALUES$$$"; 
+
+        private final org.apache.geronimo.clustering.Session session;
+
+        protected ClusteredSession(HttpServletRequest request) {
+            super(request);
+            
+            if (request instanceof RequestWithBoundSession) {
+                this.session = ((RequestWithBoundSession) request).session;
+                // implementation note: set a dummy attribute such that the underlying attribute map is initialized
+                // with the state of the inbound session.
+                setAttribute(FORCE_SET_VALUES, FORCE_SET_VALUES);
+            } else {
+                try {
+                    this.session = sessionManager.createSession(getId());
+                } catch (SessionAlreadyExistException e) {
+                    throw (IllegalStateException) new IllegalStateException().initCause(e);
+                }
+            }
+        }
+        
+        protected Map newAttributeMap() {
+            return session.getState();
+        }
+    }
+
+    /**
+     * Implementation note: this is a mock HttpServletRequest which is used to create an HttpSession with the same
+     * session ID than the wrapped Session.
+     */
+    private class RequestWithBoundSession implements HttpServletRequest {
+        private final org.apache.geronimo.clustering.Session session;
+
+        public RequestWithBoundSession(org.apache.geronimo.clustering.Session session) {
+            this.session = session;
+        }
+
+        public void setAttribute(String arg0, Object arg1) {
+        }
+
+        public Object getAttribute(String arg0) {
+            return null;
+        }
+
+        public String getRequestedSessionId() {
+            return session.getSessionId();
+        }
+
+        public String getAuthType() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getContextPath() {
+            throw new UnsupportedOperationException();
+        }
+
+        public Cookie[] getCookies() {
+            throw new UnsupportedOperationException();
+        }
+
+        public long getDateHeader(String arg0) {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getHeader(String arg0) {
+            throw new UnsupportedOperationException();
+        }
+
+        public Enumeration getHeaderNames() {
+            throw new UnsupportedOperationException();
+        }
+
+        public Enumeration getHeaders(String arg0) {
+            throw new UnsupportedOperationException();
+        }
+
+        public int getIntHeader(String arg0) {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getMethod() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getPathInfo() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getPathTranslated() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getQueryString() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getRemoteUser() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getRequestURI() {
+            throw new UnsupportedOperationException();
+        }
+
+        public StringBuffer getRequestURL() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getServletPath() {
+            throw new UnsupportedOperationException();
+        }
+
+        public HttpSession getSession() {
+            throw new UnsupportedOperationException();
+        }
+
+        public HttpSession getSession(boolean arg0) {
+            throw new UnsupportedOperationException();
+        }
+
+        public Principal getUserPrincipal() {
+            throw new UnsupportedOperationException();
+        }
+
+        public boolean isRequestedSessionIdFromCookie() {
+            throw new UnsupportedOperationException();
+        }
+
+        public boolean isRequestedSessionIdFromURL() {
+            throw new UnsupportedOperationException();
+        }
+
+        public boolean isRequestedSessionIdFromUrl() {
+            throw new UnsupportedOperationException();
+        }
+
+        public boolean isRequestedSessionIdValid() {
+            throw new UnsupportedOperationException();
+        }
+
+        public boolean isUserInRole(String arg0) {
+            throw new UnsupportedOperationException();
+        }
+
+        public Enumeration getAttributeNames() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getCharacterEncoding() {
+            throw new UnsupportedOperationException();
+        }
+
+        public int getContentLength() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getContentType() {
+            throw new UnsupportedOperationException();
+        }
+
+        public ServletInputStream getInputStream() throws IOException {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getLocalAddr() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getLocalName() {
+            throw new UnsupportedOperationException();
+        }
+
+        public int getLocalPort() {
+            throw new UnsupportedOperationException();
+        }
+
+        public Locale getLocale() {
+            throw new UnsupportedOperationException();
+        }
+
+        public Enumeration getLocales() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getParameter(String arg0) {
+            throw new UnsupportedOperationException();
+        }
+
+        public Map getParameterMap() {
+            throw new UnsupportedOperationException();
+        }
+
+        public Enumeration getParameterNames() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String[] getParameterValues(String arg0) {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getProtocol() {
+            throw new UnsupportedOperationException();
+        }
+
+        public BufferedReader getReader() throws IOException {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getRealPath(String arg0) {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getRemoteAddr() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getRemoteHost() {
+            throw new UnsupportedOperationException();
+        }
+
+        public int getRemotePort() {
+            throw new UnsupportedOperationException();
+        }
+
+        public RequestDispatcher getRequestDispatcher(String arg0) {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getScheme() {
+            throw new UnsupportedOperationException();
+        }
+
+        public String getServerName() {
+            throw new UnsupportedOperationException();
+        }
+
+        public int getServerPort() {
+            throw new UnsupportedOperationException();
+        }
+
+        public boolean isSecure() {
+            throw new UnsupportedOperationException();
+        }
+
+        public void removeAttribute(String arg0) {
+            throw new UnsupportedOperationException();
+        }
+
+        public void setCharacterEncoding(String arg0) throws UnsupportedEncodingException {
+            throw new UnsupportedOperationException();
+        }
+    }
+}

Added: geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/cluster/ClusteredWebApplicationHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/cluster/ClusteredWebApplicationHandler.java?view=auto&rev=446624
==============================================================================
--- geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/cluster/ClusteredWebApplicationHandler.java (added)
+++ geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/cluster/ClusteredWebApplicationHandler.java Fri Sep 15 08:02:12 2006
@@ -0,0 +1,30 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.jetty.cluster;
+
+import org.mortbay.jetty.servlet.WebApplicationHandler;
+
+/**
+ *
+ * @version $Rev$ $Date$
+ */
+public class ClusteredWebApplicationHandler extends WebApplicationHandler {
+    
+    public ClusteredWebApplicationHandler(ClusteredSessionManager sessionManager) {
+        _sessionManager = sessionManager;
+    }
+}

Added: geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/cluster/ClusteredWebApplicationHandlerFactory.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/cluster/ClusteredWebApplicationHandlerFactory.java?view=auto&rev=446624
==============================================================================
--- geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/cluster/ClusteredWebApplicationHandlerFactory.java (added)
+++ geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/cluster/ClusteredWebApplicationHandlerFactory.java Fri Sep 15 08:02:12 2006
@@ -0,0 +1,62 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.jetty.cluster;
+
+import org.apache.geronimo.clustering.SessionManager;
+import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.jetty.WebApplicationHandlerFactory;
+import org.mortbay.jetty.servlet.WebApplicationHandler;
+
+/**
+ *
+ * @version $Rev$ $Date$
+ */
+public class ClusteredWebApplicationHandlerFactory implements WebApplicationHandlerFactory {
+    private final SessionManager sessionManager;
+    
+    public ClusteredWebApplicationHandlerFactory(SessionManager sessionManager) {
+        this.sessionManager = sessionManager;
+    }
+
+    public WebApplicationHandler createHandler() {
+        ClusteredSessionManager clusteredSessionManager = new ClusteredSessionManager(sessionManager);
+        return new ClusteredWebApplicationHandler(clusteredSessionManager);
+    }
+    
+    public static final GBeanInfo GBEAN_INFO;
+    
+    public static final String GBEAN_REF_SESSION_MANAGER = "SessionManager";
+    
+    static {
+        GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic("Clustered Web Application Handler Factory",
+                ClusteredWebApplicationHandlerFactory.class, NameFactory.GERONIMO_SERVICE);
+
+        infoFactory.addReference(GBEAN_REF_SESSION_MANAGER, SessionManager.class, NameFactory.GERONIMO_SERVICE);
+
+        infoFactory.addInterface(WebApplicationHandlerFactory.class);
+
+        infoFactory.setConstructor(new String[]{GBEAN_REF_SESSION_MANAGER});
+        
+        GBEAN_INFO = infoFactory.getBeanInfo();
+    }
+
+    public static GBeanInfo getGBeanInfo() {
+        return GBEAN_INFO;
+    }
+}

Modified: geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/interceptor/RequestWrappingBeforeAfter.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/interceptor/RequestWrappingBeforeAfter.java?view=diff&rev=446624&r1=446623&r2=446624
==============================================================================
--- geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/interceptor/RequestWrappingBeforeAfter.java (original)
+++ geronimo/server/trunk/modules/geronimo-jetty/src/main/java/org/apache/geronimo/jetty/interceptor/RequestWrappingBeforeAfter.java Fri Sep 15 08:02:12 2006
@@ -16,6 +16,7 @@
  */
 package org.apache.geronimo.jetty.interceptor;
 
+import org.apache.geronimo.jetty.GeronimoServletHttpRequest;
 import org.mortbay.http.HttpRequest;
 import org.mortbay.http.HttpResponse;
 import org.mortbay.jetty.servlet.ServletHandler;
@@ -40,7 +41,7 @@
             if (request == null)
             {
                 // Build the request and response.
-                request = new ServletHttpRequest(handler, null, httpRequest);
+                request = new GeronimoServletHttpRequest(handler, null, httpRequest);
                 ServletHttpResponse response = new ServletHttpResponse(request, httpResponse);
                 httpRequest.setWrapper(request);
                 httpResponse.setWrapper(response);

Modified: geronimo/server/trunk/modules/geronimo-jetty/src/test/java/org/apache/geronimo/jetty/AbstractWebModuleTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-jetty/src/test/java/org/apache/geronimo/jetty/AbstractWebModuleTest.java?view=diff&rev=446624&r1=446623&r2=446624
==============================================================================
--- geronimo/server/trunk/modules/geronimo-jetty/src/test/java/org/apache/geronimo/jetty/AbstractWebModuleTest.java (original)
+++ geronimo/server/trunk/modules/geronimo-jetty/src/test/java/org/apache/geronimo/jetty/AbstractWebModuleTest.java Fri Sep 15 08:02:12 2006
@@ -90,7 +90,6 @@
 
         JettyWebAppContext app = new JettyWebAppContext(null,
                 null,
-                null,
                 Collections.EMPTY_MAP,
                 cl,
                 new URL(configurationBaseURL, uriString),
@@ -108,6 +107,8 @@
                 realmName,
                 null,
                 0,
+                new DefaultWebApplicationHandlerFactory(),
+                null,
                 policyContextId,
                 securityRealmName,
                 defaultPrincipal,

Modified: geronimo/server/trunk/modules/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/GeronimoSecurityBuilderImpl.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/GeronimoSecurityBuilderImpl.java?view=diff&rev=446624&r1=446623&r2=446624
==============================================================================
--- geronimo/server/trunk/modules/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/GeronimoSecurityBuilderImpl.java (original)
+++ geronimo/server/trunk/modules/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/GeronimoSecurityBuilderImpl.java Fri Sep 15 08:02:12 2006
@@ -59,6 +59,7 @@
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
 import org.apache.geronimo.kernel.Naming;
 import org.apache.geronimo.kernel.GBeanAlreadyExistsException;
+import org.apache.geronimo.kernel.repository.Environment;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.j2ee.deployment.SecurityBuilder;
 import org.apache.geronimo.j2ee.deployment.EARContext;
@@ -70,6 +71,9 @@
     private static final QName SECURITY_QNAME = GerSecurityDocument.type.getDocumentElementName();
     private static final QNameSet SECURITY_QNAME_SET = QNameSet.singleton(SECURITY_QNAME);
 
+
+    public void buildEnvironment(XmlObject container, Environment environment) throws DeploymentException {
+    }
 
     public void build(XmlObject container, DeploymentContext applicationContext, DeploymentContext moduleContext) throws DeploymentException {
         EARContext earContext = (EARContext) applicationContext;

Modified: geronimo/server/trunk/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/GBeanBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/GBeanBuilder.java?view=diff&rev=446624&r1=446623&r2=446624
==============================================================================
--- geronimo/server/trunk/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/GBeanBuilder.java (original)
+++ geronimo/server/trunk/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/GBeanBuilder.java Fri Sep 15 08:02:12 2006
@@ -85,6 +85,9 @@
         attrRefMap.put(environmentBuilder.getNamespace(), environmentBuilder);
     }
 
+    public void buildEnvironment(XmlObject container, Environment environment) throws DeploymentException {
+    }
+
     public void build(XmlObject container, DeploymentContext applicationContext, DeploymentContext moduleContext) throws DeploymentException {
         XmlObject[] items = container.selectChildren(GBEAN_QNAME_SET);
         GbeanType[] gbeans = new GbeanType[items.length];

Modified: geronimo/server/trunk/modules/geronimo-tomcat/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-tomcat/pom.xml?view=diff&rev=446624&r1=446623&r2=446624
==============================================================================
--- geronimo/server/trunk/modules/geronimo-tomcat/pom.xml (original)
+++ geronimo/server/trunk/modules/geronimo-tomcat/pom.xml Fri Sep 15 08:02:12 2006
@@ -220,12 +220,12 @@
         </dependency>
 
         <dependency>
-            <groupId>wadi</groupId>
+            <groupId>org.codehaus.wadi</groupId>
             <artifactId>wadi-core</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>wadi</groupId>
+            <groupId>org.codehaus.wadi</groupId>
             <artifactId>wadi-tomcat55</artifactId>
         </dependency>
         

Modified: geronimo/server/trunk/modules/geronimo-tomcat/src/main/java/org/apache/geronimo/tomcat/cluster/WADIGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-tomcat/src/main/java/org/apache/geronimo/tomcat/cluster/WADIGBean.java?view=diff&rev=446624&r1=446623&r2=446624
==============================================================================
--- geronimo/server/trunk/modules/geronimo-tomcat/src/main/java/org/apache/geronimo/tomcat/cluster/WADIGBean.java (original)
+++ geronimo/server/trunk/modules/geronimo-tomcat/src/main/java/org/apache/geronimo/tomcat/cluster/WADIGBean.java Fri Sep 15 08:02:12 2006
@@ -1,48 +0,0 @@
-/**
- *
- * Copyright 2003-2005 The Apache Software Foundation
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.geronimo.tomcat.cluster;
-
-import java.util.Map;
-
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GBeanInfoBuilder;
-import org.apache.geronimo.gbean.GBeanLifecycle;
-import org.apache.geronimo.tomcat.ManagerGBean;
-import org.apache.geronimo.tomcat.ObjectRetriever;
-import org.codehaus.wadi.tomcat55.TomcatManager;
-
-public class WADIGBean extends ManagerGBean implements GBeanLifecycle, ObjectRetriever{
-    
-    public WADIGBean() throws Exception{
-        
-        //super("org.codehaus.wadi.tomcat55.TomcatManager", null);
-        super("org.codehaus.wadi.tomcat55.TomcatManager");
-    }
-
-    public static final GBeanInfo GBEAN_INFO;
-
-    static {
-        GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic("TomcatManager", WADIGBean.class, ManagerGBean.GBEAN_INFO);
-        //infoFactory.addOperation("getInternalObject");
-        infoFactory.setConstructor(new String[0]);
-        GBEAN_INFO = infoFactory.getBeanInfo();
-    }
-
-    public static GBeanInfo getGBeanInfo() {
-        return GBEAN_INFO;
-    }
-}

Modified: geronimo/server/trunk/modules/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/pom.xml?view=diff&rev=446624&r1=446623&r2=446624
==============================================================================
--- geronimo/server/trunk/modules/pom.xml (original)
+++ geronimo/server/trunk/modules/pom.xml Fri Sep 15 08:02:12 2006
@@ -53,6 +53,9 @@
         <module>geronimo-axis-builder</module>
         <module>geronimo-client</module>
         <module>geronimo-client-builder</module>
+        <module>geronimo-clustering</module>
+        <module>geronimo-clustering-builder-wadi</module>
+        <module>geronimo-clustering-wadi</module>
         <module>geronimo-common</module>
         <module>geronimo-connector</module>
         <module>geronimo-connector-builder</module>
@@ -90,6 +93,7 @@
         <module>geronimo-util</module>
         <module>geronimo-web-builder</module>
         <module>geronimo-webservices</module>
+
     </modules>
     
-</project>
\ No newline at end of file
+</project>

Modified: geronimo/server/trunk/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/pom.xml?view=diff&rev=446624&r1=446623&r2=446624
==============================================================================
--- geronimo/server/trunk/pom.xml (original)
+++ geronimo/server/trunk/pom.xml Fri Sep 15 08:02:12 2006
@@ -806,15 +806,57 @@
             </dependency>
             
             <dependency>
-                <groupId>wadi</groupId>
+                <groupId>org.codehaus.wadi</groupId>
                 <artifactId>wadi-core</artifactId>
-                <version>2.0M1</version>
+                <version>2.0M2-SNAPSHOT</version>
             </dependency>
-            
+
             <dependency>
-                <groupId>wadi</groupId>
+                <groupId>org.codehaus.wadi</groupId>
                 <artifactId>wadi-tomcat55</artifactId>
-                <version>2.0M1</version>
+                <version>2.0M2-SNAPSHOT</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.codehaus.wadi</groupId>
+                <artifactId>wadi-group</artifactId>
+                <version>2.0M2-SNAPSHOT</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.codehaus.wadi</groupId>
+                <artifactId>wadi-activecluster</artifactId>
+                <version>2.0M2-SNAPSHOT</version>
+            </dependency>
+
+            <dependency>
+                <groupId>incubator-activemq</groupId>
+                <artifactId>activecluster</artifactId>
+                <version>4.0.1</version>
+            </dependency>
+    
+            <dependency>
+                <groupId>incubator-activemq</groupId>
+                 <artifactId>activemq</artifactId>
+                <version>4.0.1</version>
+            </dependency>
+                
+            <dependency>
+                <groupId>org.codehaus.wadi</groupId>
+                <artifactId>wadi-tribes</artifactId>
+                <version>2.0M2-SNAPSHOT</version>
+            </dependency>
+    
+            <dependency>
+                <groupId>org.codehaus.wadi</groupId>
+                <artifactId>wadi-tribes</artifactId>
+                <version>2.0M2-SNAPSHOT</version>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.catalina.tribes</groupId>
+                <artifactId>tribes</artifactId>
+                <version>0.9.5.2</version>
             </dependency>
             
         </dependencies>