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

绝地断管例外

松刚豪
2023-03-14

我在servlet过滤器中使用Redis进行身份验证,但我没有修改Redis。形态

jedis = new Jedis("localhost");
String authToken = jedis.get(uid);

第2行抛出一个异常。

redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Broken pipe
redis.clients.jedis.Connection.flush(Connection.java:291)
redis.clients.jedis.Connection.getBinaryBulkReply(Connection.java:214)
redis.clients.jedis.Connection.getBulkReply(Connection.java:205)
redis.clients.jedis.Jedis.get(Jedis.java:105)
filter.AuthFilter.doFilter(AuthFilter.java:38)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

共有1个答案

公西鸿博
2023-03-14

连接似乎被重置/断开。这可能发生在您使用长寿命连接时(例如,在应用程序启动时连接到Redis,然后一遍又一遍地使用连接)。

可能的解决办法有:

  1. 使用Jedispool在需要时获取连接,使用后返回
  2. 如果连接断开,请重新连接(需要一些尝试/捕捉魔法来防止错误传播到您的应用程序逻辑)
  3. 在你需要连接的时刻连接,然后断开

还有JavaRedis客户端提供透明的重新连接,这意味着您永远不会看到套接字异常(生菜、redisson)。

 类似资料:
  • 所以,我有两个应用程序使用绝地武士。它们都连接到同一台服务器,其中一个监听发布以检查是否写入了某些内容。好吧,经过大约10个小时的持续使用和装载,设置/获取/发布/订阅等,绝地武士们返回了破碎的管道。我不知道为什么,因为我在绝地武士中有超时到0的时间。有什么想法吗?

  • 问题内容: 我尝试扫描有关本地类型推断的JEP-286。我看到这仅适用于局部变量- 了解。因此这确实有效: 我确实看到,另一方面,它无法编译: 很明显,事实并非如此,因为JEP是这样说的。现在我的问题是: 对于宣布失败的 公共/受保护 成员,至少是IMO,这是完全合理的。但是,为什么即使编译也不编译呢?我只能假设您仍然可以通过反射保留该变量(而我无法获得这样的局部字段)…而且获取该变量可能需要强制

  • 什么是中断?简单的解释就是系统正在处理某一个正常事件,忽然被另一个需要马上处理的紧急事件打断,系统转而处理这个紧急事件,待处理完毕,再恢复运行刚才被打断的事件。生活中,我们经常会遇到这样的场景: 当你正在专心看书的时候,忽然来了一个电话,于是记下书的页码,去接电话,接完电话后接着刚才的页码继续看书,这是一个典型的中断的过程。 电话是老师打过来的,让你赶快交作业,你判断交作业的优先级比看书高,于是电

  • 中断管理接口 函数 void  rt_interrupt_enter (void)   中断进入   void  rt_interrupt_leave (void)   中断离开   rt_uint8_t  rt_interrupt_get_nest (void)   中断嵌套层数获取   rt_base_t  rt_hw_interrupt_disable (void)   禁用系统中断   v

  • 我试图从java连接到JedisCluster(ElastiCache Redis)。但是我得到了集群中没有可达节点的JedisConnectionExcema。 这是我连接JedisCluster的代码 运行这个之后我得到的异常 我查过了 正如AWS文件中提到的,我得到的回复是连接的。 这里的问题是什么?为什么我不能使用java连接到JedisCluster? 注: 我用的是jedis版本2.9

  • 我有一个正在运行的GCP Kubernetes集群。我设法部署了一些服务,并使用kubectl expose成功地公开了它们。。。type=“负载平衡器”。。。然而,一项特殊的新服务不起作用。我知道可能有一千个原因需要检查,但我构建的Docker图像非常紧凑,因此我无法找到有用的工具通过kubectl exec在pod或容器中运行。 问题:仅使用任何可能的群集工具,我的诊断选项可能是什么?我可以检