X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fmd%2Fsal%2Fconnector%2Fnetconf%2FNetconfConnectorModule.java;h=55a1fbfe486a03f033ba961586675cb21beea2d6;hb=923d6b33391ace11b42e36a7f2d08cabe241a4f3;hp=12759246140a9d7da0947ff8f73e8d461e6614d6;hpb=7943b9362e220db037f797c14e113124b6711e07;p=controller.git diff --git a/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModule.java b/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModule.java index 1275924614..55a1fbfe48 100644 --- a/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModule.java +++ b/opendaylight/md-sal/sal-netconf-connector/src/main/java/org/opendaylight/controller/config/yang/md/sal/connector/netconf/NetconfConnectorModule.java @@ -10,6 +10,7 @@ package org.opendaylight.controller.config.yang.md.sal.connector.netconf; import io.netty.channel.EventLoopGroup; +import io.netty.util.concurrent.GlobalEventExecutor; import java.net.InetAddress; import java.net.InetSocketAddress; @@ -21,6 +22,8 @@ import org.opendaylight.controller.netconf.client.NetconfSshClientDispatcher; import org.opendaylight.controller.netconf.util.handler.ssh.authentication.AuthenticationHandler; import org.opendaylight.controller.netconf.util.handler.ssh.authentication.LoginPassword; import org.opendaylight.controller.sal.connect.netconf.NetconfDevice; +import org.opendaylight.protocol.framework.ReconnectStrategy; +import org.opendaylight.protocol.framework.TimedReconnectStrategy; import org.osgi.framework.BundleContext; import static com.google.common.base.Preconditions.*; @@ -62,6 +65,8 @@ public final class NetconfConnectorModule extends org.opendaylight.controller.co String addressValue = getAddress(); + int attemptMsTimeout = 60*1000; + int connectionAttempts = 5; /* * Uncomment after Switch to IP Address if(getAddress().getIpv4Address() != null) { @@ -71,16 +76,21 @@ public final class NetconfConnectorModule extends org.opendaylight.controller.co } */ + ReconnectStrategy strategy = new TimedReconnectStrategy(GlobalEventExecutor.INSTANCE, attemptMsTimeout, 1000, 1.0, null, + Long.valueOf(connectionAttempts), null); + + + device.setStrategy(strategy); + InetAddress addr = InetAddresses.forString(addressValue); InetSocketAddress socketAddress = new InetSocketAddress(addr , getPort().intValue()); device.setSocketAddress(socketAddress); EventLoopGroup bossGroup = getBossThreadGroupDependency(); EventLoopGroup workerGroup = getWorkerThreadGroupDependency(); - Optional maybeContext = Optional.absent(); NetconfClientDispatcher dispatcher = null; if(getTcpOnly()) { - dispatcher = new NetconfClientDispatcher(maybeContext , bossGroup, workerGroup); + dispatcher = new NetconfClientDispatcher( bossGroup, workerGroup); } else { AuthenticationHandler authHandler = new LoginPassword(getUsername(),getPassword()); dispatcher = new NetconfSshClientDispatcher(authHandler , bossGroup, workerGroup);