当前位置: 首页>>代码示例>>Java>>正文


Java ExceptionEvent.getCause方法代码示例

本文整理汇总了Java中org.jboss.netty.channel.ExceptionEvent.getCause方法的典型用法代码示例。如果您正苦于以下问题:Java ExceptionEvent.getCause方法的具体用法?Java ExceptionEvent.getCause怎么用?Java ExceptionEvent.getCause使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.jboss.netty.channel.ExceptionEvent的用法示例。


在下文中一共展示了ExceptionEvent.getCause方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e)
    throws Exception {
  Channel ch = e.getChannel();
  Throwable cause = e.getCause();
  if (cause instanceof TooLongFrameException) {
    sendError(ctx, BAD_REQUEST);
    return;
  } else if (cause instanceof IOException) {
    if (cause instanceof ClosedChannelException) {
      LOG.debug("Ignoring closed channel error", cause);
      return;
    }
    String message = String.valueOf(cause.getMessage());
    if (IGNORABLE_ERROR_MESSAGE.matcher(message).matches()) {
      LOG.debug("Ignoring client socket close", cause);
      return;
    }
  }

  LOG.error("Shuffle error: ", cause);
  if (ch.isConnected()) {
    LOG.error("Shuffle error " + e);
    sendError(ctx, INTERNAL_SERVER_ERROR);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:27,代码来源:ShuffleHandler.java

示例2: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent
        e) throws Exception {
    log.debug("[exceptionCaught]: " + e.toString());
    if (e.getCause() instanceof ReadTimeoutException) {
        log.debug("Disconnecting device {} due to read timeout", e.getChannel().getRemoteAddress());
        return;
    } else if (e.getCause() instanceof ClosedChannelException) {
        log.debug("Channel for OSPF {} already closed", e.getChannel().getRemoteAddress());
    } else if (e.getCause() instanceof IOException) {
        log.debug("Disconnecting OSPF {} due to IO Error: {}", e.getChannel().getRemoteAddress(),
                  e.getCause().getMessage());
    } else if (e.getCause() instanceof OspfParseException) {
        OspfParseException errMsg = (OspfParseException) e.getCause();
        byte errorCode = errMsg.errorCode();
        byte errorSubCode = errMsg.errorSubCode();
        log.debug("Error while parsing message from OSPF {}, ErrorCode {}",
                  e.getChannel().getRemoteAddress(), errorCode);
    } else if (e.getCause() instanceof RejectedExecutionException) {
        log.debug("Could not process message: queue full");
    } else {
        log.debug("Error while processing message from OSPF {}, {}",
                  e.getChannel().getRemoteAddress(), e.getCause().getMessage());
    }
}
 
开发者ID:shlee89,项目名称:athena,代码行数:26,代码来源:OspfInterfaceChannelHandler.java

示例3: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {
    if (e.getCause() instanceof ReadTimeoutException) {
        log.debug("Disconnecting device {} due to read timeout", e.getChannel().getRemoteAddress());
        return;
    } else if (e.getCause() instanceof ClosedChannelException) {
        log.debug("Channel for ISIS {} already closed", e.getChannel().getRemoteAddress());
    } else if (e.getCause() instanceof IOException) {
        log.debug("Disconnecting ISIS {} due to IO Error: {}", e.getChannel().getRemoteAddress(),
                  e.getCause().getMessage());
    } else if (e.getCause() instanceof IsisParseException) {
        IsisParseException errMsg = (IsisParseException) e.getCause();
        byte errorCode = errMsg.errorCode();
        byte errorSubCode = errMsg.errorSubCode();
        log.debug("Error while parsing message from ISIS {}, ErrorCode {}",
                  e.getChannel().getRemoteAddress(), errorCode);
    } else if (e.getCause() instanceof RejectedExecutionException) {
        log.debug("Could not process message: queue full");
    } else {
        log.debug("Error while processing message from ISIS {}, {}",
                  e.getChannel().getRemoteAddress(), e.getCause().getMessage());
    }
}
 
开发者ID:shlee89,项目名称:athena,代码行数:24,代码来源:IsisChannelHandler.java

示例4: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
/**
 * Called by netty when an exception happens in one of the netty threads
 * (mostly due to what we do in the netty threads)
 */
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {
    Throwable t = e.getCause();
    if (t instanceof CorruptedFrameException || t instanceof TooLongFrameException) {
        LOG.error("Corrupted fram recieved from bookie: " + e.getChannel().getRemoteAddress());
        return;
    }
    if (t instanceof IOException) {
        // these are thrown when a bookie fails, logging them just pollutes
        // the logs (the failure is logged from the listeners on the write
        // operation), so I'll just ignore it here.
        return;
    }

    LOG.fatal("Unexpected exception caught by bookie client channel handler", t);
    // Since we are a library, cant terminate App here, can we?
}
 
开发者ID:gerritjvv,项目名称:bigstreams,代码行数:22,代码来源:PerChannelBookieClient.java

示例5: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {
//		logger.error("exceptionCaught", e.getCause());
		if (e.getCause() instanceof ReadTimeoutException) {
			if (logger.isTraceEnabled()) {
				logger.trace("Connection timeout [{}]", ctx.getChannel().getRemoteAddress());
			}
			ctx.getChannel().close();
		} else {
			if (!isLoaded) {
				// ignore
				return;
			}
			if (!NetworkExceptionHelper.isCloseConnectionException(e.getCause())) {
//				logger.warn("Caught exception while handling client http traffic, closing connection {}", e.getCause(), ctx.getChannel());
				ctx.getChannel().close();
			} else {
//				logger.debug("Caught exception while handling client http traffic, closing connection {}", e.getCause(), ctx.getChannel());
				ctx.getChannel().close();
			}
		}
		
	}
 
开发者ID:gncloud,项目名称:fastcatsearch3,代码行数:23,代码来源:HttpTransportModule.java

示例6: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e)
		throws Exception {
	Throwable te = e.getCause();
	if (te instanceof java.io.IOException) {// 网络异常,也有可能是soLinger参数引起
		return;
	}
	logger.error("Unexpected exception from downstream.{}", e.getCause());
	Channel c = e.getChannel();
	try {
		if (c.isWritable()) {
			RpcResponse res = new RpcResponse();
			res.setReturnFlag(RpcConst.ERR_CODE_SERVER_CHANNEL_EXCEPTION);
			res.setReturnMsg(logger.getStackTraceInfo(e.getCause()));
			c.write(res);
		}
	} finally {
		c.close();
	}
	// super.exceptionCaught(ctx, e);
}
 
开发者ID:jbeetle,项目名称:BJAF3.x,代码行数:22,代码来源:RpcServerHandler.java

示例7: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {
    HttpContext<R, T> httpContext = httpContextMap.get(ctx.getChannel());
    try {
        if (httpContext != null && httpContext.getListener() != null) {
            httpContext.getListener().onFailure(e.getCause());
        } else {
            Throwable t = e.getCause();
            logger.error(t.getMessage(), t);
        }
    } finally {
        ctx.getChannel().close();
        httpContextMap.remove(ctx.getChannel());
    }
}
 
开发者ID:jprante,项目名称:elasticsearch-client-http,代码行数:17,代码来源:HttpClient.java

示例8: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {
    Throwable cause = e.getCause();

    // do not print exception if it is BindException.
    // we are trying to search available port below 1024. It is not good to
    // print a flood
    // of error logs during the searching.
    if (cause instanceof java.net.BindException) {
        return;
    }

    LOG.error("Exception on connection to " + getRemoteAddress(), e.getCause());

    // close the channel unless we are connecting and it is
    // NotYetConnectedException
    if (!((cause instanceof NotYetConnectedException)
            && _connection.getConnectionState().equals(Connection.State.CONNECTING))) {
        ctx.getChannel().close();
    }
}
 
开发者ID:EMCECS,项目名称:nfs-client-java,代码行数:21,代码来源:ClientIOHandler.java

示例9: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {
    Throwable t = e.getCause();

    if (this.channelHandler != null) {
        this.channelHandler.onError(this.createContext(t));
    }

    e.getChannel().close();

    if (t instanceof IOException) {
        this.ioErrorLogger.error(Text.ERROR_AT_SERVER, t);
    } else {
        this.logger.error(Text.ERROR_AT_SERVER, t);
    }
}
 
开发者ID:kuiwang,项目名称:my-dev,代码行数:17,代码来源:NettyServerUpstreamHandler.java

示例10: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
@Override
public void exceptionCaught( ChannelHandlerContext ctx, ExceptionEvent e ) throws Exception
{
    Channel ch = e.getChannel( ) ;
    Throwable cause = e.getCause( ) ;
    if( cause instanceof TooLongFrameException )
    {
        sendError( ctx, BAD_REQUEST ) ;
        return ;
    }
    
    cause.printStackTrace( ) ;
    if( ch.isConnected( ) )
    {
        sendError( ctx, INTERNAL_SERVER_ERROR ) ;
    }
}
 
开发者ID:wsyssantos,项目名称:BettaServer,代码行数:18,代码来源:BettaUdpFileServerHandler.java

示例11: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {
	final Throwable error = e.getCause();

	if (error instanceof IOException // Connection reset etc
		|| error instanceof ClosedChannelException || error instanceof IllegalArgumentException) { // Invalid
																									// protocol
																									// format
																									// -
																									// bots
																									// etc
		if (LOG.isDebugEnabled())
			LOG.debug("Exception from HttpTunnel send handler: " + error);

		return;
	}

	if (LOG.isWarnEnabled())
		LOG.warn("Exception from HttpTunnel send handler: " + error);
}
 
开发者ID:reines,项目名称:httptunnel,代码行数:21,代码来源:HttpTunnelClientChannelSendHandler.java

示例12: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {
	final Throwable error = e.getCause();

	if (error instanceof IOException // Connection reset etc
		|| error instanceof ClosedChannelException || error instanceof IllegalArgumentException) { // Invalid
																									// protocol
																									// format
																									// -
																									// bots
																									// etc
		if (LOG.isDebugEnabled())
			LOG.debug("Exception from HttpTunnel send handler: " + error);

		return;
	}

	if (LOG.isWarnEnabled())
		LOG.warn("Exception from HttpTunnel accepted channel handler: " + error);
}
 
开发者ID:reines,项目名称:httptunnel,代码行数:21,代码来源:HttpTunnelAcceptedChannelHandler.java

示例13: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e)
		throws Exception {
	RpcRequest request = (RpcRequest) ctx.getAttachment();
	if (e.getCause() instanceof ReadTimeoutException) {
		// The connection was OK but there was no traffic for last period.
		logger.warn("Disconnecting due to no inbound traffic");
	} else {
		logger.error("", e);
	}
	e.getChannel().close().awaitUninterruptibly();
}
 
开发者ID:zhaoshiling1017,项目名称:voyage,代码行数:13,代码来源:NettyRpcServerHandler.java

示例14: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
protected void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {
    if (!lifecycle.started()) {
        // ignore
        return;
    }
    if (isCloseConnectionException(e.getCause())) {
        logger.trace("close connection exception caught on transport layer [{}], disconnecting from relevant node", e.getCause(), ctx.getChannel());
        // close the channel, which will cause a node to be disconnected if relevant
        ctx.getChannel().close();
        disconnectFromNodeChannel(ctx.getChannel(), e.getCause());
    } else if (isConnectException(e.getCause())) {
        logger.trace("connect exception caught on transport layer [{}]", e.getCause(), ctx.getChannel());
        // close the channel as safe measure, which will cause a node to be disconnected if relevant
        ctx.getChannel().close();
        disconnectFromNodeChannel(ctx.getChannel(), e.getCause());
    } else if (e.getCause() instanceof CancelledKeyException) {
        logger.trace("cancelled key exception caught on transport layer [{}], disconnecting from relevant node", e.getCause(), ctx.getChannel());
        // close the channel as safe measure, which will cause a node to be disconnected if relevant
        ctx.getChannel().close();
        disconnectFromNodeChannel(ctx.getChannel(), e.getCause());
    } else if (e.getCause() instanceof SizeHeaderFrameDecoder.HttpOnTransportException) {
        // in case we are able to return data, serialize the exception content and sent it back to the client
        if (ctx.getChannel().isOpen()) {
            ChannelBuffer buffer = ChannelBuffers.wrappedBuffer(e.getCause().getMessage().getBytes(Charsets.UTF_8));
            ChannelFuture channelFuture = ctx.getChannel().write(buffer);
            channelFuture.addListener(new ChannelFutureListener() {
                @Override
                public void operationComplete(ChannelFuture future) throws Exception {
                    future.getChannel().close();
                }
            });
        }
    } else {
        logger.warn("exception caught on transport layer [{}], closing connection", e.getCause(), ctx.getChannel());
        // close the channel, which will cause a node to be disconnected if relevant
        ctx.getChannel().close();
        disconnectFromNodeChannel(ctx.getChannel(), e.getCause());
    }
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:40,代码来源:NettyTransport.java

示例15: exceptionCaught

import org.jboss.netty.channel.ExceptionEvent; //导入方法依赖的package包/类
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e)
    throws Exception {
  Channel ch = e.getChannel();
  Throwable cause = e.getCause();

  if (LOG.isDebugEnabled())
    LOG.debug(cause.getMessage());
  ch.close().addListener(ChannelFutureListener.CLOSE);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:11,代码来源:TestDelegationTokenRemoteFetcher.java


注:本文中的org.jboss.netty.channel.ExceptionEvent.getCause方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。