You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2009/06/20 00:09:32 UTC
svn commit: r786690 - in /geronimo/server/trunk/plugins/tomcat:
geronimo-tomcat6-builder/src/test/java/org/apache/geronimo/tomcat/deployment/
geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/
geronimo-tomcat6/src/test/java/org/apache/geronimo/...
Author: djencks
Date: Fri Jun 19 22:09:31 2009
New Revision: 786690
URL: http://svn.apache.org/viewvc?rev=786690&view=rev
Log:
GERONIMO-4684 Provide a way for the existing EngineGBean to wrap the engine started from a server.xml. This should provide backward compatibility for added gbeans in user plans
Modified:
geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6-builder/src/test/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilderTest.java
geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/EngineGBean.java
geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java
geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatWebAppContext.java
geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/AbstractWebModuleTest.java
geronimo/server/trunk/plugins/tomcat/tomcat6/src/main/plan/plan.xml
Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6-builder/src/test/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilderTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6-builder/src/test/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilderTest.java?rev=786690&r1=786689&r2=786690&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6-builder/src/test/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilderTest.java (original)
+++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6-builder/src/test/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilderTest.java Fri Jun 19 22:09:31 2009
@@ -285,7 +285,7 @@
// Default Engine
initParams = new HashMap();
initParams.put("name", "Geronimo");
- GBeanData engine = bootstrap.addGBean("tomcatEngine", EngineGBean.GBEAN_INFO);
+ GBeanData engine = bootstrap.addGBean("tomcatEngine", EngineGBean.class);
engine.setAttribute("className", "org.apache.geronimo.tomcat.TomcatEngine");
engine.setAttribute("initParams", initParams);
engine.setReferencePattern("DefaultHost", host.getAbstractName());
Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/EngineGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/EngineGBean.java?rev=786690&r1=786689&r2=786690&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/EngineGBean.java (original)
+++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/EngineGBean.java Fri Jun 19 22:09:31 2009
@@ -36,6 +36,9 @@
import org.apache.geronimo.gbean.ReferenceCollection;
import org.apache.geronimo.gbean.ReferenceCollectionEvent;
import org.apache.geronimo.gbean.ReferenceCollectionListener;
+import org.apache.geronimo.gbean.annotation.GBean;
+import org.apache.geronimo.gbean.annotation.ParamAttribute;
+import org.apache.geronimo.gbean.annotation.ParamReference;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.system.jmx.MBeanServerReference;
import org.apache.geronimo.tomcat.cluster.CatalinaClusterGBean;
@@ -46,6 +49,7 @@
/**
* @version $Rev$ $Date$
*/
+@GBean
public class EngineGBean extends BaseGBean implements GBeanLifecycle, ObjectRetriever {
private static final Logger log = LoggerFactory.getLogger(EngineGBean.class);
@@ -55,17 +59,25 @@
private final Engine engine;
- public EngineGBean(String className,
- Map initParams,
- HostGBean defaultHost,
- ObjectRetriever realmGBean,
- ConfigurationFactory configurationFactory,
- ValveGBean tomcatValveChain,
- LifecycleListenerGBean listenerChain,
- CatalinaClusterGBean clusterGBean,
- ManagerGBean manager,
- MBeanServerReference mbeanServerReference) throws Exception {
- super(); // TODO: make it an attribute
+ public EngineGBean(
+ //fish engine out of server configured with server.xml
+ @ParamReference(name="Server")TomcatServerGBean server,
+ @ParamAttribute(name="serviceName")String serviceName,
+
+ //Or (deprecated) set up an engine directly
+ @ParamAttribute(name = "className")String className,
+ @ParamAttribute(name = "initParams")Map initParams,
+ @ParamReference(name="DefaultHost", namingType = HostGBean.J2EE_TYPE)HostGBean defaultHost,
+ @ParamReference(name="RealmGBean", namingType = GBeanInfoBuilder.DEFAULT_J2EE_TYPE)ObjectRetriever realmGBean,
+ @ParamReference(name="ConfigurationFactory", namingType = GBeanInfoBuilder.DEFAULT_J2EE_TYPE)ConfigurationFactory configurationFactory,
+ @ParamReference(name="TomcatValveChain", namingType = ValveGBean.J2EE_TYPE)ValveGBean tomcatValveChain,
+ @ParamReference(name="LifecycleListenerChain", namingType = LifecycleListenerGBean.J2EE_TYPE)LifecycleListenerGBean listenerChain,
+ @ParamReference(name="CatalinaCluster", namingType = CatalinaClusterGBean.J2EE_TYPE)CatalinaClusterGBean clusterGBean,
+ @ParamReference(name="Manager", namingType = ManagerGBean.J2EE_TYPE)ManagerGBean manager,
+ @ParamReference(name="MBeanServerReference")MBeanServerReference mbeanServerReference) throws Exception {
+
+ if (server == null) {
+ //legacy configuration
if (className == null){
className = "org.apache.geronimo.tomcat.TomcatEngine";
@@ -143,6 +155,11 @@
if (clusterGBean != null){
engine.setCluster((Cluster)clusterGBean.getInternalObject());
}
+ } else {
+ //get engine from server gbean
+ engine = (Engine) server.getService(serviceName).getContainer();
+ }
+
}
public void removeHost(Host host) {
@@ -169,35 +186,4 @@
log.debug("Stopped");
}
- public static final GBeanInfo GBEAN_INFO;
-
- static {
- GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic("TomcatEngine", EngineGBean.class);
- infoFactory.addAttribute("className", String.class, true);
- infoFactory.addAttribute("initParams", Map.class, true);
- infoFactory.addReference("DefaultHost", HostGBean.class, HostGBean.J2EE_TYPE);
- infoFactory.addReference("RealmGBean", ObjectRetriever.class, GBeanInfoBuilder.DEFAULT_J2EE_TYPE);
- infoFactory.addReference("ConfigurationFactory", ConfigurationFactory.class, GBeanInfoBuilder.DEFAULT_J2EE_TYPE);
- infoFactory.addReference("TomcatValveChain", ValveGBean.class, ValveGBean.J2EE_TYPE);
- infoFactory.addReference("LifecycleListenerChain", LifecycleListenerGBean.class, LifecycleListenerGBean.J2EE_TYPE);
- infoFactory.addReference("CatalinaCluster", CatalinaClusterGBean.class, CatalinaClusterGBean.J2EE_TYPE);
- infoFactory.addReference("Manager", ManagerGBean.class, ManagerGBean.J2EE_TYPE);
- infoFactory.addReference("MBeanServerReference", MBeanServerReference.class);
- infoFactory.setConstructor(new String[] {
- "className",
- "initParams",
- "DefaultHost",
- "RealmGBean",
- "ConfigurationFactory",
- "TomcatValveChain",
- "LifecycleListenerChain",
- "CatalinaCluster",
- "Manager",
- "MBeanServerReference"});
- GBEAN_INFO = infoFactory.getBeanInfo();
- }
-
- public static GBeanInfo getGBeanInfo() {
- return GBEAN_INFO;
- }
}
Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java?rev=786690&r1=786689&r2=786690&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java (original)
+++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java Fri Jun 19 22:09:31 2009
@@ -139,7 +139,6 @@
} else {
this.engine = (Engine) engineGBean.getInternalObject();
StandardService embedded = new StandardService();
-// StandardService embedded = new Embedded();
// Assemble FileLogger as a gbean
/*
@@ -150,7 +149,6 @@
// 2. Set the relevant properties of this object itself. In particular,
// you will want to establish the default Logger to be used, as well as
// the default Realm if you are using container-managed security.
-// embedded.setUseNaming(false);
//Add default contexts
File rootContext = new File(catalinaHome + "/ROOT");
Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatWebAppContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatWebAppContext.java?rev=786690&r1=786689&r2=786690&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatWebAppContext.java (original)
+++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatWebAppContext.java Fri Jun 19 22:09:31 2009
@@ -134,7 +134,8 @@
TrackedConnectionAssociator trackedConnectionAssociator,
TomcatContainer container,
RunAsSource runAsSource,
- ConfigurationFactory configurationFactory, ObjectRetriever tomcatRealm,
+ ConfigurationFactory configurationFactory,
+ ObjectRetriever tomcatRealm,
ObjectRetriever clusteredValveRetriever,
ValveGBean tomcatValveChain,
LifecycleListenerGBean lifecycleListenerChain,
Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/AbstractWebModuleTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/AbstractWebModuleTest.java?rev=786690&r1=786689&r2=786690&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/AbstractWebModuleTest.java (original)
+++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/AbstractWebModuleTest.java Fri Jun 19 22:09:31 2009
@@ -16,24 +16,11 @@
*/
package org.apache.geronimo.tomcat;
-import java.io.File;
-import java.net.URI;
-import java.net.URL;
-import java.security.Principal;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import javax.transaction.TransactionManager;
-
import org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTrackingCoordinator;
import org.apache.geronimo.connector.outbound.connectiontracking.GeronimoTransactionListener;
import org.apache.geronimo.security.SecurityServiceImpl;
import org.apache.geronimo.security.deploy.PrincipalInfo;
import org.apache.geronimo.security.deploy.SubjectInfo;
-import org.apache.geronimo.security.jaas.ConfigurationEntryFactory;
-import org.apache.geronimo.security.jaas.GeronimoLoginConfiguration;
import org.apache.geronimo.security.jaas.JaasLoginModuleUse;
import org.apache.geronimo.security.jaas.LoginModuleControlFlag;
import org.apache.geronimo.security.jaas.LoginModuleGBean;
@@ -53,6 +40,16 @@
import org.apache.geronimo.tomcat.util.SecurityHolder;
import org.apache.geronimo.transaction.manager.TransactionManagerImpl;
+import javax.transaction.TransactionManager;
+import java.io.File;
+import java.net.URI;
+import java.net.URL;
+import java.security.Principal;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
/**
* @version $Rev$ $Date$
@@ -172,7 +169,8 @@
//Default Engine
initParams = Collections.singletonMap("name", "Geronimo");
- EngineGBean engine = new EngineGBean("org.apache.geronimo.tomcat.TomcatEngine",
+ EngineGBean engine = new EngineGBean(null, null,
+ "org.apache.geronimo.tomcat.TomcatEngine",
initParams,
host,
realm,
Modified: geronimo/server/trunk/plugins/tomcat/tomcat6/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/tomcat6/src/main/plan/plan.xml?rev=786690&r1=786689&r2=786690&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/tomcat/tomcat6/src/main/plan/plan.xml (original)
+++ geronimo/server/trunk/plugins/tomcat/tomcat6/src/main/plan/plan.xml Fri Jun 19 22:09:31 2009
@@ -63,7 +63,15 @@
<!--<name>AprLifecycleListener</name>-->
<!--</reference>-->
</gbean>
-<!--
+
+ <!-- for support of Host, Valve, etc gbeans in web app plans that need an Engine reference -->
+ <gbean name="TomcatEngine" class="org.apache.geronimo.tomcat.EngineGBean">
+ <reference name="Server">
+ <name>TomcatServer</name>
+ </reference>
+ </gbean>
+
+ <!--
<gbean name="AprLifecycleListener" class="org.apache.geronimo.tomcat.LifecycleListenerGBean">
<attribute name="className">org.apache.geronimo.tomcat.listener.GeronimoAprLifecycleListener</attribute>
</gbean>