summaryrefslogtreecommitdiffstats
path: root/core/core-deployment
diff options
context:
space:
mode:
Diffstat (limited to 'core/core-deployment')
-rw-r--r--core/core-deployment/src/main/java/org/onap/policy/apex/core/deployment/DeploymentClient.java35
-rw-r--r--core/core-deployment/src/main/java/org/onap/policy/apex/core/deployment/EngineServiceFacade.java26
2 files changed, 38 insertions, 23 deletions
diff --git a/core/core-deployment/src/main/java/org/onap/policy/apex/core/deployment/DeploymentClient.java b/core/core-deployment/src/main/java/org/onap/policy/apex/core/deployment/DeploymentClient.java
index c2a19a167..5fc7dc8c6 100644
--- a/core/core-deployment/src/main/java/org/onap/policy/apex/core/deployment/DeploymentClient.java
+++ b/core/core-deployment/src/main/java/org/onap/policy/apex/core/deployment/DeploymentClient.java
@@ -20,8 +20,6 @@
package org.onap.policy.apex.core.deployment;
-import com.google.common.eventbus.Subscribe;
-
import java.net.URI;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
@@ -37,10 +35,13 @@ import org.onap.policy.apex.core.protocols.Message;
import org.slf4j.ext.XLogger;
import org.slf4j.ext.XLoggerFactory;
+import com.google.common.eventbus.Subscribe;
+
/**
- * The Class DeploymentClient handles the client side of an EngDep communication session with an Apex server. It runs a
- * thread to handle message sending and session monitoring. It uses a sending queue to queue messages for sending by the
- * client thread and a receiving queue to queue messages received from the Apex engine.
+ * The Class DeploymentClient handles the client side of an EngDep communication session with an
+ * Apex server. It runs a thread to handle message sending and session monitoring. It uses a sending
+ * queue to queue messages for sending by the client thread and a receiving queue to queue messages
+ * received from the Apex engine.
*
* @author Liam Fallon (liam.fallon@ericsson.com)
*/
@@ -90,7 +91,8 @@ public class DeploymentClient implements Runnable {
thisThread.setName(DeploymentClient.class.getName() + "-" + host + ":" + port);
try {
- // Establish a connection to the Apex server for EngDep message communication over Web Sockets
+ // Establish a connection to the Apex server for EngDep message communication over Web
+ // Sockets
service = factory.createClient(new URI("ws://" + host + ":" + port));
service.addMessageListener(new DeploymentClientListener());
@@ -101,7 +103,6 @@ public class DeploymentClient implements Runnable {
LOGGER.error("engine<-->deployment client thread exception", e);
return;
}
-
// Loop forever, sending messages as they appear on the queue
while (true) {
try {
@@ -110,6 +111,8 @@ public class DeploymentClient implements Runnable {
} catch (final InterruptedException e) {
// Message sending has been interrupted, we are finished
LOGGER.debug("engine<-->deployment client interrupted");
+ // restore the interrupt status
+ thisThread.interrupt();
break;
}
}
@@ -169,10 +172,11 @@ public class DeploymentClient implements Runnable {
}
/**
- * The listener interface for receiving deploymentClient events. The class that is interested in processing a
- * deploymentClient event implements this interface, and the object created with that class is registered with a
- * component using the component's {@code addDeploymentClientListener} method. When the deploymentClient event
- * occurs, that object's appropriate method is invoked.
+ * The listener interface for receiving deploymentClient events. The class that is interested in
+ * processing a deploymentClient event implements this interface, and the object created with
+ * that class is registered with a component using the component's
+ * {@code addDeploymentClientListener} method. When the deploymentClient event occurs, that
+ * object's appropriate method is invoked.
*
* @see DeploymentClientEvent
*/
@@ -180,8 +184,9 @@ public class DeploymentClient implements Runnable {
/*
* (non-Javadoc)
*
- * @see org.onap.policy.apex.core.infrastructure.messaging.MessageListener#onMessage(org.onap.policy.apex.core.
- * infrastructure.messaging.impl.ws.messageblock. MessageBlock)
+ * @see
+ * org.onap.policy.apex.core.infrastructure.messaging.MessageListener#onMessage(org.onap.
+ * policy.apex.core. infrastructure.messaging.impl.ws.messageblock. MessageBlock)
*/
@Subscribe
@Override
@@ -192,7 +197,9 @@ public class DeploymentClient implements Runnable {
/*
* (non-Javadoc)
*
- * @see org.onap.policy.apex.core.infrastructure.messaging.MessageListener#onMessage(java.lang.String)
+ * @see
+ * org.onap.policy.apex.core.infrastructure.messaging.MessageListener#onMessage(java.lang.
+ * String)
*/
@Override
public void onMessage(final String messageString) {
diff --git a/core/core-deployment/src/main/java/org/onap/policy/apex/core/deployment/EngineServiceFacade.java b/core/core-deployment/src/main/java/org/onap/policy/apex/core/deployment/EngineServiceFacade.java
index d954feaa3..11e870c9c 100644
--- a/core/core-deployment/src/main/java/org/onap/policy/apex/core/deployment/EngineServiceFacade.java
+++ b/core/core-deployment/src/main/java/org/onap/policy/apex/core/deployment/EngineServiceFacade.java
@@ -50,11 +50,12 @@ import org.slf4j.ext.XLogger;
import org.slf4j.ext.XLoggerFactory;
/**
- * The Class Deployer deploys an Apex model held as an XML file onto an Apex engine. It uses the EngDep protocol to
- * communicate with the engine, with the EngDep protocol being carried on Java web sockets.
+ * The Class Deployer deploys an Apex model held as an XML file onto an Apex engine. It uses the
+ * EngDep protocol to communicate with the engine, with the EngDep protocol being carried on Java
+ * web sockets.
*
- * This deployer is a simple command line deployer that reads the communication parameters and the location of the XML
- * model file as arguments.
+ * This deployer is a simple command line deployer that reads the communication parameters and the
+ * location of the XML model file as arguments.
*
* @author Liam Fallon (liam.fallon@ericsson.com)
*/
@@ -62,7 +63,8 @@ public class EngineServiceFacade {
// Get a reference to the logger
private static final XLogger LOGGER = XLoggerFactory.getXLogger(EngineServiceFacade.class);
- // The default message timeout and timeout increment (the amount of time between polls) in milliseconds
+ // The default message timeout and timeout increment (the amount of time between polls) in
+ // milliseconds
private static final int CLIENT_START_WAIT_INTERVAL = 100;
private static final int REPLY_MESSAGE_TIMEOUT_DEFAULT = 10000;
private static final int REPLY_MESSAGE_TIMEOUT_INCREMENT = 100;
@@ -100,7 +102,8 @@ public class EngineServiceFacade {
try {
LOGGER.debug("handshaking with server {}:{} . . .", hostName, port);
- // Use the deployment client to handle the EngDep communication towards the Apex server. It runs a thread to
+ // Use the deployment client to handle the EngDep communication towards the Apex server.
+ // It runs a thread to
// monitor the session and to send
// messages
client = new DeploymentClient(hostName, port);
@@ -184,7 +187,8 @@ public class EngineServiceFacade {
*
* @param modelFileName the name of the model file containing the model to deploy
* @param ignoreConflicts true if conflicts between context in polices is to be ignored
- * @param force true if the model is to be applied even if it is incompatible with the existing model
+ * @param force true if the model is to be applied even if it is incompatible with the existing
+ * model
* @throws ApexException on Apex errors
* @throws IOException on IO exceptions from the operating system
*/
@@ -215,7 +219,8 @@ public class EngineServiceFacade {
* @param modelFileName the name of the model file containing the model to deploy
* @param modelInputStream the stream that holds the Apex model
* @param ignoreConflicts true if conflicts between context in polices is to be ignored
- * @param force true if the model is to be applied even if it is incompatible with the existing model
+ * @param force true if the model is to be applied even if it is incompatible with the existing
+ * model
* @throws ApexException on model deployment errors
*/
public void deployModel(final String modelFileName, final InputStream modelInputStream,
@@ -238,7 +243,8 @@ public class EngineServiceFacade {
*
* @param apexPolicyModel the name of the model to deploy
* @param ignoreConflicts true if conflicts between context in polices is to be ignored
- * @param force true if the model is to be applied even if it is incompatible with the existing model
+ * @param force true if the model is to be applied even if it is incompatible with the existing
+ * model
* @throws ApexException on model deployment errors
*/
public void deployModel(final AxPolicyModel apexPolicyModel, final boolean ignoreConflicts, final boolean force)
@@ -436,6 +442,8 @@ public class EngineServiceFacade {
try {
receivedMessage = client.getReceiveQueue().poll(REPLY_MESSAGE_TIMEOUT_INCREMENT, TimeUnit.MILLISECONDS);
} catch (final InterruptedException e) {
+ // restore the interrupt status
+ Thread.currentThread().interrupt();
LOGGER.warn("reception of response from server interrupted {}:{}", hostName, port, e);
throw new ApexDeploymentException(
"reception of response from server interrupted " + hostName + ':' + port, e);