From ea7716a5176ef81d95e2454e2a3e46c9a7c2f0f7 Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 10 Jun 2022 08:45:55 +0800 Subject: [PATCH] add check null --- CHANGELOG.md | 1 + .../src/main/java/cn/hutool/extra/ssh/JschSessionPool.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac2ad4998..41575df27 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ * 【core 】 修复Convert.toSBC空指针问题(issue#I5APKK@Gitee) * 【json 】 修复Bean中存在bytes,无法转换问题(issue#2365@Github) * 【core 】 ArrayUtil.setOrAppend()传入空数组时,抛出异常(issue#I5APJE@Gitee) +* 【extra 】 JschSessionPool修复空指针检查问题(issue#I5BK4D@Gitee) ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-extra/src/main/java/cn/hutool/extra/ssh/JschSessionPool.java b/hutool-extra/src/main/java/cn/hutool/extra/ssh/JschSessionPool.java index 164b7824f..28afa9e52 100755 --- a/hutool-extra/src/main/java/cn/hutool/extra/ssh/JschSessionPool.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/ssh/JschSessionPool.java @@ -42,7 +42,7 @@ public enum JschSessionPool { */ public Session getSession(String sshHost, int sshPort, String sshUser, String sshPass) { final String key = StrUtil.format("{}@{}:{}", sshUser, sshHost, sshPort); - return this.cache.get(key, Session::isConnected, ()-> JschUtil.openSession(sshHost, sshPort, sshUser, sshPass)); + return this.cache.get(key, (conn)->null != conn && conn.isConnected(), ()-> JschUtil.openSession(sshHost, sshPort, sshUser, sshPass)); } /** @@ -57,7 +57,7 @@ public enum JschSessionPool { */ public Session getSession(String sshHost, int sshPort, String sshUser, String prvkey, byte[] passphrase) { final String key = StrUtil.format("{}@{}:{}", sshUser, sshHost, sshPort); - return this.cache.get(key, Session::isConnected, ()->JschUtil.openSession(sshHost, sshPort, sshUser, prvkey, passphrase)); + return this.cache.get(key, (conn)->null != conn && conn.isConnected(), ()->JschUtil.openSession(sshHost, sshPort, sshUser, prvkey, passphrase)); } /**