+
+ private void stopXtrThread() {
+ if (xtrThread != null) {
+ xtrThread.stopRunning();
+ while (xtrThread.isRunning()) {
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ }
+ }
+ }
+ }
+
+ @Override
+ public void shouldListenOnXtrPort(boolean shouldListenOnXtrPort) {
+ listenOnXtrPort = shouldListenOnXtrPort;
+ if (listenOnXtrPort) {
+ LOG.debug("restarting xtr thread");
+ restartXtrThread();
+ } else {
+ LOG.debug("terminating thread");
+ stopXtrThread();
+ }
+ }
+
+ @Override
+ public void setXtrPort(int port) {
+ this.xtrPort = port;
+ if (listenOnXtrPort) {
+ restartXtrThread();
+ }
+ }
+
+ @Override
+ public void close() throws Exception {
+ unloadActions();
+ sbRpcRegistration.close();
+ }
+
+ @Override
+ public void onSessionInitiated(ProviderContext session) {
+ LOG.debug("LispSouthboundPlugin Provider Session Initiated");
+ }