You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by ha...@apache.org on 2001/11/13 15:49:40 UTC
cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/cmdstream/server CMDConnectionHandler.java
hammant 01/11/13 06:49:40
Modified: apps/db/src/java/org/apache/avalon/db/driver
AvalonDBConnection.java
apps/db/src/java/org/apache/avalon/db/transport/cmdstream/client
CommandConnection.java
apps/db/src/java/org/apache/avalon/db/transport/cmdstream/server
CMDConnectionHandler.java
Log:
Correct closing of connection
Revision Changes Path
1.6 +2 -1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBConnection.java
Index: AvalonDBConnection.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/driver/AvalonDBConnection.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- AvalonDBConnection.java 2001/11/04 10:22:13 1.5
+++ AvalonDBConnection.java 2001/11/13 14:49:40 1.6
@@ -42,7 +42,7 @@
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @author Gerhard Froehlich <a href="mailto:g-froehlich@gmx.de">g-froehlich@gmx.de</a>
- * @version $Revision: 1.5 $
+ * @version $Revision: 1.6 $
*/
public abstract class AvalonDBConnection extends AbstractDriver implements Connection {
@@ -244,6 +244,7 @@
public void close() throws SQLException {
Reply reply = sendRequest(new CloseRequest());
handleSQLException(reply);
+ closeConnection();
closed = true;
}
1.8 +2 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/cmdstream/client/CommandConnection.java
Index: CommandConnection.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/cmdstream/client/CommandConnection.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- CommandConnection.java 2001/11/04 10:22:13 1.7
+++ CommandConnection.java 2001/11/13 14:49:40 1.8
@@ -32,7 +32,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
*/
public class CommandConnection extends AvalonDBConnection {
@@ -65,7 +65,7 @@
mObjectInputStream.close();
mObjectOutputStream.close();
} catch (IOException ioe) {
- throw new SQLException("Unable to close ObjectStrams used by Driver");
+ throw new SQLException("Unable to close ObjectStreams used by Driver");
} finally {
mObjectInputStream = null;
mObjectOutputStream = null;
1.3 +16 -4 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/cmdstream/server/CMDConnectionHandler.java
Index: CMDConnectionHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/transport/cmdstream/server/CMDConnectionHandler.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CMDConnectionHandler.java 2001/11/10 21:45:04 1.2
+++ CMDConnectionHandler.java 2001/11/13 14:49:40 1.3
@@ -21,6 +21,7 @@
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
+import java.io.EOFException;
import java.net.Socket;
@@ -63,16 +64,27 @@
mObjectOutputStream = new ObjectOutputStream(socket.getOutputStream());
mObjectInputStream = new ObjectInputStream(socket.getInputStream());
- getLogger().debug("AvalonDBConnection from " + remoteHost + " (" + remoteIP + ")");
+ getLogger().debug("AvalonDBConnection:Open from " + remoteHost + " (" + remoteIP + ")");
- while (true) {
+ boolean more = true;
+ while (more) {
Request request = null;
try {
request = (Request) mObjectInputStream.readObject();
- } catch (ClassNotFoundException cnfe) {} // won't happen.
+ } catch (ClassNotFoundException cnfe) { // won't happen.
+ } catch (EOFException eofe) {
+ more = false;
+ }
+ if (more) {
+ mObjectOutputStream.writeObject(mDatabaseManager.processRequest(request));
+ }
+
+ if (request.getRequestCode() == Request.CLOSE) {
+ more = false;
+ }
- mObjectOutputStream.writeObject(mDatabaseManager.processRequest(request));
}
+ getLogger().debug("AvalonDBConnection:Close from " + remoteHost + " (" + remoteIP + ")");
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>