package com.facebook.thrift.server;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
import com.facebook.thrift.TException;
import com.facebook.thrift.TProcessor;
import com.facebook.thrift.TProcessorFactory;
*/
public class TSimpleServer extends TServer {
+ private static final Logger LOGGER = Logger.getLogger(TSimpleServer.class.getName());
+
private boolean stopped_ = false;
public TSimpleServer(TProcessor processor,
try {
serverTransport_.listen();
} catch (TTransportException ttx) {
- ttx.printStackTrace();
+ LOGGER.log(Level.SEVERE, "Error occurred during listening.", ttx);
return;
}
// Client died, just move on
} catch (TException tx) {
if (!stopped_) {
- tx.printStackTrace();
+ LOGGER.log(Level.SEVERE, "Thrift error occurred during processing of message.", tx);
}
} catch (Exception x) {
if (!stopped_) {
- x.printStackTrace();
+ LOGGER.log(Level.SEVERE, "Error occurred during processing of message.", x);
}
}
import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
+import java.util.logging.Level;
+import java.util.logging.Logger;
/**
*/
public class TThreadPoolServer extends TServer {
+ private static final Logger LOGGER = Logger.getLogger(TThreadPoolServer.class.getName());
+
// Executor service for handling client connections
private ExecutorService executorService_;
try {
serverTransport_.listen();
} catch (TTransportException ttx) {
- ttx.printStackTrace();
+ LOGGER.log(Level.SEVERE, "Error occurred during listening.", ttx);
return;
}
} catch (TTransportException ttx) {
if (!stopped_) {
++failureCount;
- ttx.printStackTrace();
+ LOGGER.log(Level.WARNING, "Transport error occurred during acceptance of message.", ttx);
}
}
}
} catch (TTransportException ttx) {
// Assume the client died and continue silently
} catch (TException tx) {
- tx.printStackTrace();
+ LOGGER.log(Level.SEVERE, "Thrift error occurred during processing of message.", tx);
} catch (Exception x) {
- x.printStackTrace();
+ LOGGER.log(Level.SEVERE, "Error occurred during processing of message.", x);
}
if (inputTransport != null) {
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.util.logging.Level;
+import java.util.logging.Logger;
/**
* This is the most commonly used base transport. It takes an InputStream
*/
public class TIOStreamTransport extends TTransport {
+ private static final Logger LOGGER = Logger.getLogger(TIOStreamTransport.class.getName());
+
/** Underlying inputStream */
protected InputStream inputStream_ = null;
try {
inputStream_.close();
} catch (IOException iox) {
- System.err.println("WARNING: Error closing input stream: " +
- iox.getMessage());
+ LOGGER.log(Level.WARNING, "Error closing input stream.", iox);
}
inputStream_ = null;
}
try {
outputStream_.close();
} catch (IOException iox) {
- System.err.println("WARNING: Error closing output stream: " +
- iox.getMessage());
+ LOGGER.log(Level.WARNING, "Error closing output stream.", iox);
}
outputStream_ = null;
}
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
/**
* Wrapper around ServerSocket for Thrift.
*/
public class TServerSocket extends TServerTransport {
+ private static final Logger LOGGER = Logger.getLogger(TServerSocket.class.getName());
+
/**
* Underlying serversocket object
*/
try {
serverSocket_.setSoTimeout(0);
} catch (SocketException sx) {
- sx.printStackTrace();
+ LOGGER.log(Level.WARNING, "Could not set socket timeout.", sx);
}
}
}
try {
serverSocket_.close();
} catch (IOException iox) {
- System.err.println("WARNING: Could not close server socket: " +
- iox.getMessage());
+ LOGGER.log(Level.WARNING, "Could not close server socket.", iox);
}
serverSocket_ = null;
}
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
/**
* Socket implementation of the TTransport interface. To be commented soon!
*/
public class TSocket extends TIOStreamTransport {
+ private static final Logger LOGGER = Logger.getLogger(TSocket.class.getName());
+
/**
* Wrapped Socket object
*/
socket_.setSoLinger(false, 0);
socket_.setTcpNoDelay(true);
} catch (SocketException sx) {
- sx.printStackTrace();
+ LOGGER.log(Level.WARNING, "Could not configure socket.", sx);
}
if (isOpen()) {
socket_.setTcpNoDelay(true);
socket_.setSoTimeout(timeout_);
} catch (SocketException sx) {
- sx.printStackTrace();
+ LOGGER.log(Level.WARNING, "Could not configure socket.", sx);
}
}
try {
socket_.setSoTimeout(timeout);
} catch (SocketException sx) {
- sx.printStackTrace();
+ LOGGER.log(Level.WARNING, "Could not set socket timeout.", sx);
}
}
try {
socket_.close();
} catch (IOException iox) {
- System.err.println("WARNING: exception closing socket: " +
- iox.getMessage());
+ LOGGER.log(Level.WARNING, "Could not close socket.", iox);
}
socket_ = null;
}