You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2010/05/03 01:47:52 UTC
svn commit: r940338 - in /tomcat/trunk/java/org/apache/catalina:
connector/Connector.java connector/CoyoteAdapter.java
core/StandardService.java startup/Embedded.java
Author: markt
Date: Sun May 2 23:47:51 2010
New Revision: 940338
URL: http://svn.apache.org/viewvc?rev=940338&view=rev
Log:
Simplify the connector. Keep a reference to just the Service rather than the Service and the Engine.
Modified:
tomcat/trunk/java/org/apache/catalina/connector/Connector.java
tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
tomcat/trunk/java/org/apache/catalina/core/StandardService.java
tomcat/trunk/java/org/apache/catalina/startup/Embedded.java
Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=940338&r1=940337&r2=940338&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Sun May 2 23:47:51 2010
@@ -25,7 +25,6 @@ import javax.management.MBeanServer;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
-import org.apache.catalina.Container;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.LifecycleState;
import org.apache.catalina.Service;
@@ -99,12 +98,6 @@ public class Connector extends Lifecycle
/**
- * The Container used for processing requests received by this Connector.
- */
- protected Container container = null;
-
-
- /**
* The "enable DNS lookups" flag for this Connector.
*/
protected boolean enableLookups = false;
@@ -330,7 +323,6 @@ public class Connector extends Lifecycle
public void setService(Service service) {
this.service = service;
- // FIXME: setProperty("service", service);
}
@@ -357,34 +349,7 @@ public class Connector extends Lifecycle
}
-
- /**
- * Return the Container used for processing requests received by this
- * Connector.
- */
- public Container getContainer() {
- if( container==null ) {
- // Lazy - maybe it was added later
- findContainer();
- }
- return (container);
-
- }
-
-
- /**
- * Set the Container used for processing requests received by this
- * Connector.
- *
- * @param container The new Container to use
- */
- public void setContainer(Container container) {
-
- this.container = container;
-
- }
-
-
+
/**
* Return the "enable DNS lookups" flag.
*/
@@ -1023,53 +988,16 @@ public class Connector extends Lifecycle
}
}
- protected void findContainer() {
- try {
- // Register to the service
- ObjectName parentName=new ObjectName( domain + ":" +
- "type=Service");
-
- if(log.isDebugEnabled())
- log.debug("Adding to " + parentName );
- if( mserver.isRegistered(parentName )) {
- mserver.invoke(parentName, "addConnector", new Object[] { this },
- new String[] {"org.apache.catalina.connector.Connector"});
- // As a side effect we'll get the container field set
- // Also initialize will be called
- //return;
- }
- // XXX Go directly to the Engine
- // initialize(); - is called by addConnector
- ObjectName engName=new ObjectName( domain + ":" + "type=Engine");
- if( mserver.isRegistered(engName )) {
- Object obj=mserver.getAttribute(engName, "managedResource");
- if(log.isDebugEnabled())
- log.debug("Found engine " + obj + " " + obj.getClass());
- container=(Container)obj;
-
- if(log.isDebugEnabled())
- log.debug("Initialized");
- // As a side effect we'll get the container field set
- // Also initialize will be called
- return;
- }
- } catch( Exception ex ) {
- log.error( "Error finding container " + ex);
- }
- }
@Override
protected void initInternal() throws LifecycleException {
- if( container==null ) {
- findContainer();
- }
-
if (oname == null) {
try {
// we are loaded directly, via API - and no name was given to us
// Engine name is used as domain name for MBeans
- oname = createObjectName(container.getName(), "Connector");
+ oname = createObjectName(
+ getService().getContainer().getName(), "Connector");
Registry.getRegistry(null, null)
.registerComponent(this, oname, null);
} catch (Exception e) {
Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=940338&r1=940337&r2=940338&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Sun May 2 23:47:51 2010
@@ -209,7 +209,7 @@ public class CoyoteAdapter implements Ad
req.getRequestProcessor().setWorkerThreadName(Thread.currentThread().getName());
// Calling the container
- connector.getContainer().getPipeline().getFirst().event(request, response, request.getEvent());
+ connector.getService().getContainer().getPipeline().getFirst().event(request, response, request.getEvent());
if (!error && !response.isClosed() && (request.getAttribute(Globals.EXCEPTION_ATTR) != null)) {
// An unexpected exception occurred while processing the event, so
@@ -217,7 +217,7 @@ public class CoyoteAdapter implements Ad
request.getEvent().setEventType(CometEvent.EventType.ERROR);
request.getEvent().setEventSubType(null);
error = true;
- connector.getContainer().getPipeline().getFirst().event(request, response, request.getEvent());
+ connector.getService().getContainer().getPipeline().getFirst().event(request, response, request.getEvent());
}
if (response.isClosed() || !request.isComet()) {
if (status==SocketStatus.OPEN) {
@@ -225,7 +225,7 @@ public class CoyoteAdapter implements Ad
request.getEvent().setEventType(CometEvent.EventType.END);
request.getEvent().setEventSubType(null);
error = true;
- connector.getContainer().getPipeline().getFirst().event(request, response, request.getEvent());
+ connector.getService().getContainer().getPipeline().getFirst().event(request, response, request.getEvent());
}
res.action(ActionCode.ACTION_COMET_END, null);
} else if (!error && read && request.getAvailable()) {
@@ -234,7 +234,7 @@ public class CoyoteAdapter implements Ad
request.getEvent().setEventType(CometEvent.EventType.ERROR);
request.getEvent().setEventSubType(CometEvent.EventSubType.IOEXCEPTION);
error = true;
- connector.getContainer().getPipeline().getFirst().event(request, response, request.getEvent());
+ connector.getService().getContainer().getPipeline().getFirst().event(request, response, request.getEvent());
}
return (!error);
} catch (Throwable t) {
@@ -289,7 +289,7 @@ public class CoyoteAdapter implements Ad
// Calling the container
try {
impl.complete();
- connector.getContainer().getPipeline().getFirst().invoke(request, response);
+ connector.getService().getContainer().getPipeline().getFirst().invoke(request, response);
} finally {
success = false;
}
@@ -305,10 +305,10 @@ public class CoyoteAdapter implements Ad
} else if (impl.getState()==AsyncContextImpl.AsyncState.ERROR_DISPATCHING) {
async = false;
success = false;
- connector.getContainer().getPipeline().getFirst().invoke(request, response);
+ connector.getService().getContainer().getPipeline().getFirst().invoke(request, response);
} else {
try {
- connector.getContainer().getPipeline().getFirst().invoke(request, response);
+ connector.getService().getContainer().getPipeline().getFirst().invoke(request, response);
} catch (RuntimeException x) {
impl.setErrorState(x);
}
@@ -406,9 +406,9 @@ public class CoyoteAdapter implements Ad
req.getRequestProcessor().setWorkerThreadName(Thread.currentThread().getName());
if (postParseRequest(req, request, res, response)) {
//check valves if we support async
- request.setAsyncSupported(connector.getContainer().getPipeline().isAsyncSupported());
+ request.setAsyncSupported(connector.getService().getContainer().getPipeline().isAsyncSupported());
// Calling the container
- connector.getContainer().getPipeline().getFirst().invoke(request, response);
+ connector.getService().getContainer().getPipeline().getFirst().invoke(request, response);
if (request.isComet()) {
if (!response.isClosed() && !response.isError()) {
Modified: tomcat/trunk/java/org/apache/catalina/core/StandardService.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardService.java?rev=940338&r1=940337&r2=940338&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardService.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardService.java Sun May 2 23:47:51 2010
@@ -143,10 +143,6 @@ public class StandardService extends Lif
// Ignore
}
}
- synchronized (connectors) {
- for (int i = 0; i < connectors.length; i++)
- connectors[i].setContainer(this.container);
- }
if (getState().isAvailable() && (oldContainer != null)) {
try {
oldContainer.stop();
@@ -236,7 +232,6 @@ public class StandardService extends Lif
public void addConnector(Connector connector) {
synchronized (connectors) {
- connector.setContainer(this.container);
connector.setService(this);
Connector results[] = new Connector[connectors.length + 1];
System.arraycopy(connectors, 0, results, 0, connectors.length);
@@ -314,7 +309,6 @@ public class StandardService extends Lif
log.error("Connector.stop", e);
}
}
- connectors[j].setContainer(null);
connector.setService(null);
int k = 0;
Connector results[] = new Connector[connectors.length - 1];
Modified: tomcat/trunk/java/org/apache/catalina/startup/Embedded.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Embedded.java?rev=940338&r1=940337&r2=940338&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/Embedded.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/Embedded.java Sun May 2 23:47:51 2010
@@ -655,7 +655,7 @@ public class Embedded extends StandardS
while (true) {
int n = -1;
for (int i = 0; i < connectors.length; i++) {
- if (connectors[i].getContainer() == engine) {
+ if (connectors[i].getService().getContainer() == engine) {
n = i;
break;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org