From c0f6000ff5eec0839e8570d6d6e8ed7d94099dc6 Mon Sep 17 00:00:00 2001 From: exceptionfactory Date: Tue, 12 Jul 2022 10:01:35 -0500 Subject: [PATCH] Updated KeepAlive and RemotePF examples (#791) - Set KeepAlive interval before connecting --- examples/pom.xml | 4 ++-- .../java/net/schmizz/sshj/examples/KeepAlive.java | 3 ++- .../java/net/schmizz/sshj/examples/RemotePF.java | 3 +-- .../java/net/schmizz/keepalive/KeepAlive.java | 15 +++++++++++++++ 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/examples/pom.xml b/examples/pom.xml index 4655f8bd..85f6edfb 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -24,7 +24,7 @@ com.hierynomus sshj-examples jar - 0.19.1 + 0.33.0 sshj-examples Examples for SSHv2 library for Java @@ -55,7 +55,7 @@ com.hierynomus sshj - 0.31.0 + 0.33.0 diff --git a/examples/src/main/java/net/schmizz/sshj/examples/KeepAlive.java b/examples/src/main/java/net/schmizz/sshj/examples/KeepAlive.java index 6c843811..601a94f9 100644 --- a/examples/src/main/java/net/schmizz/sshj/examples/KeepAlive.java +++ b/examples/src/main/java/net/schmizz/sshj/examples/KeepAlive.java @@ -19,8 +19,9 @@ public class KeepAlive { final SSHClient ssh = new SSHClient(defaultConfig); try { ssh.addHostKeyVerifier(new PromiscuousVerifier()); + // Set interval to enable keep-alive before connecting + ssh.getConnection().getKeepAlive().setKeepAliveInterval(5); ssh.connect(args[0]); - ssh.getConnection().getKeepAlive().setKeepAliveInterval(5); //every 60sec ssh.authPassword(args[1], args[2]); Session session = ssh.startSession(); session.allocateDefaultPTY(); diff --git a/examples/src/main/java/net/schmizz/sshj/examples/RemotePF.java b/examples/src/main/java/net/schmizz/sshj/examples/RemotePF.java index af938e3d..5e5e7ba8 100644 --- a/examples/src/main/java/net/schmizz/sshj/examples/RemotePF.java +++ b/examples/src/main/java/net/schmizz/sshj/examples/RemotePF.java @@ -19,6 +19,7 @@ public class RemotePF { client.loadKnownHosts(); client.connect("localhost"); + client.getConnection().getKeepAlive().setKeepAliveInterval(5); try { client.authPublickey(System.getProperty("user.name")); @@ -33,8 +34,6 @@ public class RemotePF { // what we do with incoming connections that are forwarded to us new SocketForwardingConnectListener(new InetSocketAddress("google.com", 80))); - client.getTransport().setHeartbeatInterval(30); - // Something to hang on to so that the forwarding stays client.getTransport().join(); diff --git a/src/main/java/net/schmizz/keepalive/KeepAlive.java b/src/main/java/net/schmizz/keepalive/KeepAlive.java index 35e97c2b..4ff892a0 100644 --- a/src/main/java/net/schmizz/keepalive/KeepAlive.java +++ b/src/main/java/net/schmizz/keepalive/KeepAlive.java @@ -35,14 +35,29 @@ public abstract class KeepAlive extends Thread { setDaemon(true); } + /** + * KeepAlive enabled based on KeepAlive interval + * + * @return Enabled when KeepInterval is greater than 0 + */ public boolean isEnabled() { return keepAliveInterval > 0; } + /** + * Get KeepAlive interval in seconds + * + * @return KeepAlive interval in seconds defaults to 0 + */ public synchronized int getKeepAliveInterval() { return keepAliveInterval; } + /** + * Set KeepAlive interval in seconds + * + * @param keepAliveInterval KeepAlive interval in seconds + */ public synchronized void setKeepAliveInterval(int keepAliveInterval) { this.keepAliveInterval = keepAliveInterval; }