protected static void writeException(Message origMsg, int msgType, Throwable e, boolean isSevere, ServerConnection serverConnection) throws IOException { Throwable theException = getClientException(serverConnection, e); Message errorMsg = serverConnection.getErrorResponseMessage(); errorMsg.setMessageType(msgType); errorMsg.setNumberOfParts(2); errorMsg.setTransactionId(origMsg.getTransactionId()); if (isSevere) { String msg = theException.getMessage(); if (msg == null) { msg = theException.toString(); } logger.fatal("Severe cache exception : {}", msg); } errorMsg.addObjPart(theException); errorMsg.addStringPart(getExceptionTrace(theException)); errorMsg.send(serverConnection); if (logger.isDebugEnabled()) { logger.debug("{}: Wrote exception: {}", serverConnection.getName(), e.getMessage(), e); } if (e instanceof MessageTooLargeException) { throw (IOException) e; } }
private static void writeChunkedException(Message origMsg, Throwable exception, ServerConnection serverConnection, ChunkedMessage originalResponse, int numOfParts) throws IOException { Throwable e = getClientException(serverConnection, exception); ChunkedMessage chunkedResponseMsg = serverConnection.getChunkedResponseMessage(); chunkedResponseMsg.setServerConnection(serverConnection);
protected static void writeFunctionResponseException(Message origMsg, int messageType, ServerConnection serverConnection, Throwable exception) throws IOException { Throwable e = getClientException(serverConnection, exception); ChunkedMessage functionResponseMsg = serverConnection.getFunctionResponseMessage(); ChunkedMessage chunkedResponseMsg = serverConnection.getChunkedResponseMessage();
protected static void writeQueryResponseException(Message origMsg, Throwable exception, ServerConnection serverConnection) throws IOException { Throwable e = getClientException(serverConnection, exception); ChunkedMessage queryResponseMsg = serverConnection.getQueryResponseMessage(); ChunkedMessage chunkedResponseMsg = serverConnection.getChunkedResponseMessage();