diff options
author | JohnKeeney <John.Keeney@est.tech> | 2019-07-02 15:50:56 +0000 |
---|---|---|
committer | JohnKeeney <John.Keeney@est.tech> | 2019-07-02 15:50:56 +0000 |
commit | 9f0678f3ab333949076b5b9747158cf40e08fbef (patch) | |
tree | 6cd31546cbbda461eb90518df0af867ccf0066bd /services/services-engine | |
parent | 791ef7832edc7478ec344ed47c90aa5826e95b8e (diff) |
ApexPDP: Fixed jenkin failure in Nordix
getLocalHost() fails in Nordix jenkins test build - misconfiguration of
nordix jenkins vms/containers
Change-Id: I726fc141ced07f15cfaa8a9815b4d090dbb74c9a
Issue-ID: POLICY-1879
Signed-off-by: JohnKeeney <John.Keeney@est.tech>
Diffstat (limited to 'services/services-engine')
-rw-r--r-- | services/services-engine/src/main/java/org/onap/policy/apex/service/engine/engdep/EngDepMessageListener.java | 50 |
1 files changed, 32 insertions, 18 deletions
diff --git a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/engdep/EngDepMessageListener.java b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/engdep/EngDepMessageListener.java index 358069657..2e8218a99 100644 --- a/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/engdep/EngDepMessageListener.java +++ b/services/services-engine/src/main/java/org/onap/policy/apex/service/engine/engdep/EngDepMessageListener.java @@ -1,19 +1,20 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - * + * * SPDX-License-Identifier: Apache-2.0 * ============LICENSE_END========================================================= */ @@ -21,13 +22,13 @@ package org.onap.policy.apex.service.engine.engdep; import com.google.common.eventbus.Subscribe; - +import java.net.InetAddress; +import java.net.UnknownHostException; import java.util.Collection; import java.util.List; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.TimeUnit; - import org.java_websocket.WebSocket; import org.onap.policy.apex.core.infrastructure.messaging.MessageHolder; import org.onap.policy.apex.core.infrastructure.messaging.MessageListener; @@ -57,7 +58,7 @@ import org.slf4j.ext.XLoggerFactory; * event implements this interface, and the object created with that class is registered with a component using the * component's <code>addEngDepMessageListener</code> method. When the engDepMessage event occurs, that object's * appropriate method is invoked. - * + * * <p>This class uses a queue to buffer incoming messages. When the listener is called, it places the incoming message * on the queue. A thread runs which removes the messages from the queue and forwards them to the Apex engine. * @@ -211,7 +212,7 @@ public class EngDepMessageListener implements MessageListener<Message>, Runnable /** * Handle incoming EngDep messages. - * + * * @param message the incoming message * @param webSocket the web socket the message came in on * @param enDepAction the action from the message @@ -253,7 +254,7 @@ public class EngDepMessageListener implements MessageListener<Message>, Runnable case GET_ENGINE_INFO: handleEngineInfoMessage(message, webSocket); break; - + default: throw new ApexException("action " + enDepAction + " on received message not handled by engine"); } @@ -261,7 +262,7 @@ public class EngDepMessageListener implements MessageListener<Message>, Runnable /** * Handle the get engine service information message. - * + * * @param message the message * @param webSocket the web socket that the message came on * @throws ApexException on message handling exceptions @@ -279,7 +280,7 @@ public class EngDepMessageListener implements MessageListener<Message>, Runnable /** * Handle the update model message. - * + * * @param message the message * @param webSocket the web socket that the message came on * @throws ApexException on message handling exceptions @@ -298,7 +299,7 @@ public class EngDepMessageListener implements MessageListener<Message>, Runnable /** * Handle the start engine message. - * + * * @param message the message * @param webSocket the web socket that the message came on * @throws ApexException on message handling exceptions @@ -316,7 +317,7 @@ public class EngDepMessageListener implements MessageListener<Message>, Runnable /** * Handle the stop engine message. - * + * * @param message the message * @param webSocket the web socket that the message came on * @throws ApexException on message handling exceptions @@ -334,7 +335,7 @@ public class EngDepMessageListener implements MessageListener<Message>, Runnable /** * Handle the start periodic events message. - * + * * @param message the message * @param webSocket the web socket that the message came on * @throws ApexException on message handling exceptions @@ -356,7 +357,7 @@ public class EngDepMessageListener implements MessageListener<Message>, Runnable /** * Handle the stop periodic events message. - * + * * @param message the message * @param webSocket the web socket that the message came on * @throws ApexException on message handling exceptions @@ -376,7 +377,7 @@ public class EngDepMessageListener implements MessageListener<Message>, Runnable /** * Handle the engine status message. - * + * * @param message the message * @param webSocket the web socket that the message came on * @throws ApexException on message handling exceptions @@ -392,7 +393,7 @@ public class EngDepMessageListener implements MessageListener<Message>, Runnable /** * Handle the engine information message. - * + * * @param message the message * @param webSocket the web socket that the message came on * @throws ApexException on message handling exceptions @@ -406,6 +407,19 @@ public class EngDepMessageListener implements MessageListener<Message>, Runnable } /** + * Get the local address for the WS MessageHolder, or null if there is a problem. + */ + private InetAddress getLocalAddress() { + try { + return MessagingUtils.getLocalHostLanAddress(); + } + catch (UnknownHostException e) { + LOGGER.debug("failed to find the localhost address - continuing ...", e); + return null; + } + } + + /** * Send the Response message to the client. * * @param client the client to which to send the response message @@ -429,7 +443,7 @@ public class EngDepMessageListener implements MessageListener<Message>, Runnable final Response responseMessage = new Response(requestMessage.getTarget(), result, requestMessage); responseMessage.setMessageData(messageData); - final MessageHolder<Message> messageHolder = new MessageHolder<>(MessagingUtils.getHost()); + final MessageHolder<Message> messageHolder = new MessageHolder<>(getLocalAddress()); messageHolder.addMessage(responseMessage); client.send(MessagingUtils.serializeObject(messageHolder)); @@ -460,7 +474,7 @@ public class EngDepMessageListener implements MessageListener<Message>, Runnable responseMessage.setEngineKeyArray(engineKeyCollection); responseMessage.setApexModelKey(apexModelKey); - final MessageHolder<Message> messageHolder = new MessageHolder<>(MessagingUtils.getHost()); + final MessageHolder<Message> messageHolder = new MessageHolder<>(getLocalAddress()); messageHolder.addMessage(responseMessage); client.send(MessagingUtils.serializeObject(messageHolder)); |