java setsession_Java Session.setServerAliveInterval方法代码示例

2023-10-26

import com.jcraft.jsch.Session; //导入方法依赖的package包/类

private Session startNewSession(boolean acquireChannel) throws JSchException, InterruptedException {

Session newSession = null;

final AtomicBoolean cancelled = new AtomicBoolean(false);

ConnectingProgressHandle.startHandle(env, new Cancellable() {

@Override

public boolean cancel() {

cancelled.set(true);

return true;

}

});

try {

while (!cancelled.get()) {

try {

newSession = jsch.getSession(env.getUser(), env.getHostAddress(), env.getSSHPort());

int serverAliveInterval = Integer.getInteger("jsch.server.alive.interval", 0); // NOI18N

if (serverAliveInterval > 0) {

newSession.setServerAliveInterval(serverAliveInterval);

int serverAliveCount = Integer.getInteger("jsch.server.alive.count", 5); // NOI18N

newSession.setServerAliveCountMax(serverAliveCount);

}

newSession.setUserInfo(userInfo);

for (Entry entry : jschSessionConfig.entrySet()) {

newSession.setConfig(entry.getKey(), entry.getValue());

}

Authentication auth = Authentication.getFor(env);

final String preferredAuthKey = "PreferredAuthentications"; // NOI18N

if (!jschSessionConfig.containsKey(preferredAuthKey)) {

String methods = auth.getAuthenticationMethods().toJschString();

if (methods != null) {

log.finest("Setting auth method list to " + methods); //NOI18N

newSession.setConfig(preferredAuthKey, methods);

}

}

if (USE_JZLIB) {

newSession.setConfig("compression.s2c", "[email protected],zlib,none"); // NOI18N

newSession.setConfig("compression.c2s", "[email protected],zlib,none"); // NOI18N

newSession.setConfig("compression_level", "9"); // NOI18N

}

if (RemoteStatistics.COLLECT_STATISTICS && RemoteStatistics.COLLECT_TRAFFIC) {

newSession.setSocketFactory(MeasurableSocketFactory.getInstance());

}

newSession.connect(auth.getTimeout()*1000);

break;

} catch (JSchException ex) {

if (!UNIT_TEST_MODE) {

String msg = ex.getMessage();

if (msg == null) {

throw ex;

}

if (msg.startsWith("Auth fail") || msg.startsWith("SSH_MSG_DISCONNECT: 2")) { // NOI18N

PasswordManager.getInstance().clearPassword(env);

}

} else {

throw ex;

}

} catch (CancellationException cex) {

cancelled.set(true);

}

}

if (cancelled.get()) {

throw new InterruptedException("StartNewSession was cancelled ..."); // NOI18N

}

// In case of any port-forwarding previously set for this env

// init the new session appropriately

portForwarding.initSession(newSession);

sessions.put(newSession, new AtomicInteger(JSCH_CHANNELS_PER_SESSION - (acquireChannel ? 1 : 0)));

log.log(Level.FINE, "New session [{0}] started.", new Object[]{System.identityHashCode(newSession)}); // NOI18N

} finally {

ConnectingProgressHandle.stopHandle(env);

}

return newSession;

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java setsession_Java Session.setServerAliveInterval方法代码示例 的相关文章

  • Tomcat和Nginx的具体区别

    Tomcat和Nginx都是Web服务器 但它们的职责和功能有所不同 1 Tomcat是Java Web应用服务器 支持JSP和Servlet等Java Web开发技术 而Nginx是高性能的HTTP和反向代理服务器 2 Tomcat支持J
  • C 标准库 - 《string.h》

    原文链接 https www runoob com cprogramming c standard library string h html 简介 string h 头文件定义了一个变量类型 一个宏和各种操作字符数组的函数 库变量 下面是
  • Python进阶学习分享之循环设计

    range 在Python中 for循环后的in跟随一个序列的话 循环每次使用的序列元素 而不是序列的下标 之前我们已经使用过range 来控制for循环 现在 我们继续开发range的功能 以实现下标对循环的控制 S abcdefghij
  • python搭建HTTP服务器并外网访问 - 内网穿透

    1 前言 Python作为热度比较高的编程语言 其语法简单且语句清晰 而且python有良好的兼容性 可以轻松的和其他编程语言 比如C C 建立的模块连接起来 而且python丰富强大的库 经过封装可以轻松调用 因此深受欢迎 今天我们就尝试
  • pytorch学习笔记13-利用GPU训练

    目录 GPU训练方式1 方式1如何操作 完整代码 结果 如果电脑上没有GPU 可以使用Google的colab GPU训练方式2 方式2如何操作 完整代码 用Google colab的输出 GPU训练方式1 方式1如何操作 找到神经网络模型
  • 解决Pycharm无法使用已经安装Selenium的问题

    电脑C盘安装python27的时候也安装了selenium 但是最近刚刚使用工具Pycharm 新建工程后 然后建立 py文件后 使用语句 from selenium webdriver support wait import WebDri
  • 程序性能分析及性能测试

    这里所说的程序是指对外提供tcp ip交互协议的服务性程序 网络程序性能分析很重要 比如随着网络请求流量越来越大 我们需要知道已部署的服务能不能满足需求 这里采用对网络服务程序进行建模的方法分析影响程序性能的各要素 并计算相关性能值 它不够
  • odoo权限规则

    文章目录 odoo权限的层级划分 模型 表 级访问权限管理 记录规则权限 1 创建用户 2 新建权限组 用户组 3 创建记录规则 record rule 字段权限控制 菜单级权限管理 工作流权限管理 隐藏的常用技巧 Eval odoo权限的
  • 编译linux内核(二)

    编译linux内核 1 准备工作 1 1 下载内核文件 1 2 环境准备 1 3 内核命名规则 1 4 内核镜像 1 4 ELF 2 编译内核 2 1 升级gcc 2 2 make menuconfig其他报错 2 3 配置选项 2 4 编
  • MySQL数据库中的索引(含SQL语句)

    文章目录 为什么要用索引 索引是什么 索引的原理 优点 缺点 创建索引的原则 什么情况下需要索引 什么情况下不需要索引 索引的分类 主键索引 单值索引 唯一索引 组合索引 复合索引 全文索引 仅在MySQL8之后有 查找索引 索引的数据结构
  • cmd和dos的区别(汇总)

    你在windows操作系统里进的DOS 即输入 CMD 进命令提示符 不是纯DOS 只是为方便某些需求而建立的 而纯DOS本身就是一种操作系统 两者的区别 比如你可以在纯DOS下删除你的 windows系统 但在你所说的 命令提示符 里却不
  • Mac 让 iTerm2 记住用户名密码 expect 脚本

    刚刚用iTerm2的时候 总是要一遍遍的敲用户名 密码 我在想 能不能像Windows的软件一样 可以直接让软件记住 然后只要点击一下 就直接ssh到远程服务器上面去了 之后经过搜索 可以用expect脚本实现 usr bin expect
  • SSM学生作业管理系统-计算机毕设 附源码20912

    SSM学生作业管理系统 摘 要 随着科学技术的飞速发展 各行各业都在努力与现代先进技术接轨 通过科技手段提高自身的优势 对于学生作业管理系统当然也不能排除在外 随着网络技术的不断成熟 带动了学生作业管理系统 它彻底改变了过去传统的管理方式
  • 【webpack5】高级优化

    介绍 本章节主要介绍 Webpack 高级配置 所谓高级配置其实就是进行 Webpack 优化 让我们代码在编译 运行时性能更好 我们会从以下角度来进行优化 提升开发体验 提升打包构建速度 减少代码体积 优化代码运行性能 提升开发体验 So
  • 安装Node.js后,查看npm版本时出现警告

    执行命令 npm v 时 npm WARN config global global local are deprecated Use location global instead 修改安装的 node js 的文件架下的 npm cmd
  • sublime 自动补全

    preferences gt settings 在右边窗口最后位置添加 auto complete true 出现打过的单词 auto match enabled true 自动补全括号或引号
  • 【满分】【华为OD机试真题2023 JS】开心消消乐

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 开心消消乐 知识点编程基础深搜广搜 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 给定一个N行M列的二维矩阵 矩阵中每个位置的数字取值为0或1 矩阵示例如 1
  • 《思考的艺术》——书评与思维导图

    抽空读了下这本书 先说说整体感觉 内容基本满意 书的布局非常不喜欢 先吐槽吧 目录太过宽泛 给人造成 只见树木不见林 的感觉 目前只列出了各章节的标题在目录中 但每个章节包含很多的小标题 各标题的字体 大小都一样 很难区分逻辑 层次关系 如
  • 银行业务系统数据库设计与实现

    银行业务系统数据库的设计与实现 1 创建数据库银行业务系统数据库 bankDB Drop database if EXISTS bankDB 删除bindDB数据库 即使没有数据库也不报错 CREATE database bankDB 创建

随机推荐

  • preprocessing.LabelEncoder()使用

    preprocessing LabelEncoder 使用 e g 1 from sklearn import preprocessing le preprocessing LabelEncoder arr gf 1 2 3 wom wom
  • 基于Zigbee的智能路灯控制系统的Qt操作界面

    本项目已经用于参加过比赛 在加之本人确实有点忙 所以拖到现在才发 这里只详细说明关于Qt控制界面的相关功能说明 本来是19年写的 代码量有点大 具体的地方 我自己都可能有点遗忘了 不过还是发出来供大家参考使用 因为当初时间紧迫可能代码格式不
  • 华为OD题目: 投篮大赛

    package com darling boot order od od9 import com sun org apache bcel internal generic IF ACMPEQ import java util 投篮大赛 知识
  • Android Studio 创建项目不自动生成BuildConfig文件

    今天在AS上新建项目发现找不到BuildConfig文件 怎么clear都不行 通过多方面查找发现原来gradle版本不同造成的 Gradle 8 0默认不生成 BuildConfig 文件 如上图 8 0版本是没有source文件夹 上图
  • 软件测试-网站测试

    按照以下六个顺序进行测试 1 黑盒测试 在测试网站时 首先应该建立状态表 第5章 把每个网页当作不同的状态 超级链接当作状态之间的连接线 完整的状态图有利于对整个任务更好地进行审视 查找具体网页缺陷的思路 文本 把网页文本当作文档对待 根据
  • 无线基本概述(二)

    1 一些参数 MAC MAC 即Medium MediaAccess Control 介质访问控制 是数据链路层的一部分 MAC地址是烧录在NetworkInterfaceCard 即网卡 简称NIC 里的 它也叫硬件地址 是由48位 即b
  • 队列的基本运算实现

    队列 queue 队列是一种先进先出 first in first out FIFO 的线性表 它只允许在表的一端 队尾 rear 插入元素 而在另一端 队头 front 删除元素 插入操作称为入队或进队 删除操作称为出队或离队 队列示意图
  • matlab读jpg有三个通道,图像为“灰度图像”

    最近用matlab读取 灰度图 jpg格式 居然有三个通道 且灰度值还不一样 那么这是为什么呢 1 灰度图 其实是 灰度图 概念的问题 并不是灰色的图片就是灰度图 正常来说灰度图是某个波段的成像 是由ccd对该波段对应波长的光线的强度感应形
  • 健康保健产品爬虫:Python爬虫获取保健品信息和用户评价

    目录 第一部分 选择目标网站 第二部分 分析网站结构和查询参数
  • 经纬恒润与辉羲智能达成战略投资与业务合作,加速产业智能化进程

    近日 经纬恒润战略投资辉羲智能 并与辉羲智能签署战略合作协议 双方将聚焦未来智慧出行 共同打造基于国产高性能SoC的自动驾驶量产解决方案 助力客户快速实现包括轻地图城市NOA在内的高阶自动驾驶功能量产落地 目前自动驾驶规模化处于全面爆发前夕
  • Nightingale滴滴夜莺监控系统入门(三)--页面功能说明

    Nightingale滴滴夜莺监控系统入门 三 功能模块 V3 4 1 用户资源中心 资产管理系统 任务执行中心 监控告警系统 监控看图 监控大盘 告警策略 部署客户端 生产环境开放服务端端口 部署客户端 这章节主要是介绍夜莺的功能使用 各
  • k8s的安装

    我这里使用vmware创建了三台虚拟机 k8s的虚拟机建议最少2核 4G内存 我的电脑配置不高采用的2核 3G的配置 安装k8s之前需要先安装docker docker的安装参考 docker的安装及使用 docker的安装和使用 骑士99
  • ubuntu16.4虚拟机开机,进入tty1命令终端,无法进入桌面问题始末

    现象 1 ubuntu虚拟机开机频繁出现error failed to start network manager 2 进入tty1 vm login 分析 1 回想到前一天编译工程 由于 lib i386 linux gnu下缺少libu
  • visual studio code导入自定义模块(pycharm中能够运行的文件,vs code报错:未找到指定模块)

    一 先看下目录结构 二 在main py中导入Utils中的模块 直接导入即可 from Utils custom event parse import CustomEventParse 三 在custom event parse py中导
  • [运维

    READS SQL DATA 是 MySQL 存储过程和函数中的一种权限修饰符 用于标识该存储过程或函数只读取数据库的数据而不修改它 这个修饰符通常用于声明存储过程或函数的权限 以告知数据库管理系统该过程或函数不会对数据库进行写操作 从而允
  • 动手学数据分析 Task5

    动手学数据分析 Task5 一 逻辑回归 二 随机森林 三 模型评估 3 1 k折交叉验证 3 2 混淆矩阵 3 3 ROC曲线 一 逻辑回归 LogisticRegression penalty l2 dual False tol 0 0
  • 如何将Zookeeper和Kafka的log4j升级到2.16

    1 删除lib下的jar文件 对于kafka lib 删除 slf4j api 1 7 25 jar slf4j log4j12 1 7 25 jar log4j 1 2 17 jar 对于zk lib 删除 log4j 1 2 17 ja
  • 毕业设计 - stm32单片机的远程WIFI密码锁 - 物联网 嵌入式

    文章目录 0 前言 1 简介 主要器件 实现效果 4 硬件设计 WIFI模块 OLED显示屏 相关原理图 硬件接线 5 软件说明 开发环境介绍 程序下载配置 设备初始化打印的信息 6 部分核心代码 7 最后 0 前言 这两年开始毕业设计和毕
  • kubernetes集群-Master节点升级-kubeadm,kubectl,kubelet升级

    kubernetes Master单节点升级 kubeadm 升级 kubelet 升级 kubectl 升级 生产环境注意事项 由于 kubeadm upgrade 不会升级 etcd 请确保已对其进行了备份 例如 您可以使用 etcdc
  • java setsession_Java Session.setServerAliveInterval方法代码示例

    import com jcraft jsch Session 导入方法依赖的package包 类 private Session startNewSession boolean acquireChannel throws JSchExcep