You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ra...@apache.org on 2002/03/10 07:08:21 UTC
cvs commit: jakarta-avalon-apps/ftpserver/src/java/org/apache/avalon/ftpserver FtpServerImpl.java FtpConnection.java FtpConfig.java
rana_b 02/03/09 22:08:21
Modified: ftpserver/src/java/org/apache/avalon/ftpserver
FtpServerImpl.java FtpConnection.java
FtpConfig.java
Log:
properly disposing resources
Revision Changes Path
1.12 +11 -19 jakarta-avalon-apps/ftpserver/src/java/org/apache/avalon/ftpserver/FtpServerImpl.java
Index: FtpServerImpl.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-apps/ftpserver/src/java/org/apache/avalon/ftpserver/FtpServerImpl.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- FtpServerImpl.java 8 Mar 2002 06:33:54 -0000 1.11
+++ FtpServerImpl.java 10 Mar 2002 06:08:21 -0000 1.12
@@ -10,18 +10,21 @@
import java.net.InetAddress;
import java.net.ServerSocket;
-
import org.apache.avalon.ftpserver.interfaces.FtpServerInterface;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.component.ComponentManager;
+
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
+
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.Contextualizable;
import org.apache.avalon.framework.context.ContextException;
+
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.activity.Disposable;
+
import org.apache.avalon.framework.component.Composable;
import org.apache.avalon.framework.component.ComponentException;
@@ -78,10 +81,6 @@
}
catch(Exception ex) {
getLogger().error("FtpServerImpl.contextualize()", ex);
- ex.printStackTrace();
- if (mConfig != null) {
- mConfig.close();
- }
throw new ContextException("FtpServerImpl.contextualize()", ex);
}
}
@@ -100,10 +99,6 @@
}
catch(Exception ex) {
getLogger().error("FtpServerImpl.compose()", ex);
- ex.printStackTrace();
- if (mConfig != null) {
- mConfig.close();
- }
throw new ComponentException("FtpServerImpl.compose()", ex);
}
}
@@ -136,10 +131,6 @@
}
catch(Exception ex) {
getLogger().error("FtpServerImpl.configure()", ex);
- ex.printStackTrace();
- if (mConfig != null) {
- mConfig.close();
- }
throw new ConfigurationException(ex.getMessage(), ex);
}
}
@@ -149,12 +140,13 @@
*/
public void dispose() {
getLogger().info("Closing Ftp server...");
- try {
- mServerSocket.close();
- mConfig.close();
- }
- catch(Exception ex) {
- getLogger().warn("FtpServerImpl.dispose()", ex);
+ if (mConfig != null) {
+ try {
+ mConfig.dispose();
+ }
+ catch(Exception ex) {
+ getLogger().warn("FtpServerImpl.dispose()", ex);
+ }
}
}
1.9 +6 -14 jakarta-avalon-apps/ftpserver/src/java/org/apache/avalon/ftpserver/FtpConnection.java
Index: FtpConnection.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-apps/ftpserver/src/java/org/apache/avalon/ftpserver/FtpConnection.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- FtpConnection.java 8 Mar 2002 06:36:00 -0000 1.8
+++ FtpConnection.java 10 Mar 2002 06:08:21 -0000 1.9
@@ -66,7 +66,7 @@
private FtpConfig mCfg = null;
private FtpStatus mFtpStatus = null;
private FtpDataConnection mDataCon = null;
- private Socket mControlSoc = null;
+ public Socket mControlSoc = null;
private FtpUser mUser = null;
private SpyConnectionInterface mSpy = null;
private FtpConnectionObserver mObserver = null;
@@ -176,9 +176,9 @@
*/
private void execute(FtpRequest request, Writer out) throws FtpException, IOException {
try {
- String metName = "do" + request.getCommand();
- Method actionMet = getClass().getDeclaredMethod(metName, new Class[] {FtpRequest.class, Writer.class});
- actionMet.invoke(this, new Object[] {request, out});
+ String methodName = "do" + request.getCommand();
+ Method actionMethod = getClass().getDeclaredMethod(methodName, METHOD_INPUT_SIG);
+ actionMethod.invoke(this, new Object[] {request, out});
}
catch(NoSuchMethodException ex) {
write(out, mFtpStatus.getResponse(502, request, mUser, null));
@@ -359,15 +359,7 @@
public void dataTransferred(int sz) {
notifyObserver();
}
-
- /**
- * Last defense to logout and close.
- */
- protected void finalize() throws Throwable {
- stop();
- super.finalize();
- }
-
+
////////////////////////////////////////////////////////////
///////////////// all the FTP handlers /////////////////
@@ -1230,7 +1222,7 @@
*/
protected void doSTAT(FtpRequest request, Writer out) throws FtpException, IOException {
String args[] = {
- mCfg.getServerAddress().getHostAddress(),
+ mCfg.getSelfAddress().getHostAddress(),
mControlSoc.getInetAddress().getHostAddress(),
mUser.getName()
};
1.12 +5 -17 jakarta-avalon-apps/ftpserver/src/java/org/apache/avalon/ftpserver/FtpConfig.java
Index: FtpConfig.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-apps/ftpserver/src/java/org/apache/avalon/ftpserver/FtpConfig.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- FtpConfig.java 8 Mar 2002 06:37:12 -0000 1.11
+++ FtpConfig.java 10 Mar 2002 06:08:21 -0000 1.12
@@ -56,6 +56,7 @@
private InetAddress mServerAddress = null;
private InetAddress mSelfAddress = null;
+
private Configuration mConf = null;
private BlockContext mContext = null;
private Logger mLogger = null;
@@ -366,23 +367,17 @@
* Close this config and all the related resources. Ftp server
* <code>FtpServer.stop()</code> method will call this method.
*/
- public void close() {
+ public void dispose() {
// close remote handler
if (mRemoteHandler != null) {
- mRemoteHandler.close();
+ mRemoteHandler.dispose();
mRemoteHandler = null;
}
- // close user manager
- if (mUserManager != null) {
- mUserManager.close();
- mUserManager = null;
- }
-
// close connection service
if(mConService != null) {
- mConService.close();
+ mConService.dispose();
mConService = null;
}
@@ -392,14 +387,7 @@
mMsgQ = null;
}
}
-
- /**
- * Last defense
- */
- public void finalize() throws Throwable {
- close();
- super.finalize();
- }
+
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>