当前位置: 首页 > 知识库问答 >
问题:

Netty with SSL在发生空闲超时事件时引发ClosedChannel异常

越国源
2023-03-14

当我们得到空闲超时事件时,我们关闭通道。如果我们当时也启用了ssl,我们会得到:

java.nio.channels.ClosedChannelException
at org.jboss.netty.handler.ssl.SslHandler.channelClosed(SslHandler.java:1377)

以下是一些注意事项:https://github.com/netty/netty/issues/305

我们是否可以在空闲状态处理程序方法channelIdle中进行某种清理来防止这种情况?或者我们应该在exceptionCaught方法中捕捉到这一点吗?

一般来说,我们应该如何处理这种例外情况?

谢谢,马特

共有2个答案

方长卿
2023-03-14

抛出异常基本上是为了告诉您还有一些数据需要“刷新”。如果你不在乎,你可以让一个处理程序来处理异常,就这样。

韦叶秋
2023-03-14

扩展SSLHandler并覆盖它怎么样?

 类似资料:
  • 在用户任务上应用边界计时器事件,在服务任务上添加java类属性,但当计时器到期触发异常列表时,会抛出,即无法找到分配给服务任务的类。类存在于类路径上。activiti配置中还启用了asyncExecutorActivate属性 这里有一个代码 例外 Bean初始化

  • 问题内容: 我将CloudFlare用于我的一个高流量网站,它位于堆栈的前面。 关键是CloudFlare除了创建新的连接之外,还保留空闲连接,这不是我可以更改的设置。 当我让Varnish或Nginx坐在前面监听端口80时,它们具有开箱即用的配置来挂断空闲连接。 很好,直到我必须将用Go编写的代理添加到堆栈的最前面。它使用标准库。 我不是Go向导,而是根据人们告诉我的内容,只有读写超时设置,而不

  • 我有一个fxml文件已经注册了控制器。Controller实现EventHandler和方法句柄(ActionEvente)。如果发生注册事件,处理程序方法中的代码将被处理,但不总是这样。但是打印了以下异常跟踪。我错过了什么吗?

  • 问题内容: 如何在Go HTTP客户端中使空闲超时? 空闲超时意味着从HTTP客户端内部调用Conn接口的Read / Write方法时发生超时。当客户端下载文件并且由于读取超时而导致下载失败时,此功能很有用。 问题答案: 您需要创建自己的,并返回,以设置适当的读写期限。 该会是这个样子:

  • 检测空闲连接和超时是为了及时释放资源。常见的方法发送消息用于测试一个不活跃的连接来,通常称为“心跳”,到远端来确定它是否还活着。(一个更激进的方法是简单地断开那些指定的时间间隔的不活跃的连接)。 处理空闲连接是一项常见的任务,Netty 提供了几个 ChannelHandler 实现此目的。表8.4概述。 Table 8.4 ChannelHandlers for idle connections

  • 在Eclipse(luna)安装中,我很难让Glassfish服务器真正启动并保持运行。 我有Glassfish在Netbean工作正常。 我已经在Eclipse中创建了服务器,我可以启动它,但是进度条到达大约69%,然后停止,最终给我一个错误: 无法按时启动服务器。JAVAutil。同时发生的超时异常 奇怪的是,当我等待错误出现时,我可以转到localhost:8080,服务器正在运行,我也可以