From 5c6fcfc1577ffd3bcc0063d5e52839950ebddedc Mon Sep 17 00:00:00 2001 From: Robert Butora <robert.butora@inaf.it> Date: Thu, 16 May 2024 15:35:54 +0200 Subject: [PATCH] moves doRpc to RpcOverAmqp (and renames Settings.AMQPConn -> Settings AmqpConn) --- .../src/main/java/cutout/CutoutImpl.java | 45 +-------------- .../src/main/java/cutout/DatasetsAmqp.java | 56 ++----------------- .../src/main/java/cutout/RpcOverAmqp.java | 44 +++++++++++++++ .../src/main/java/webapi/Settings.java | 12 ++-- 4 files changed, 57 insertions(+), 100 deletions(-) diff --git a/data-access/servlet/src/main/java/cutout/CutoutImpl.java b/data-access/servlet/src/main/java/cutout/CutoutImpl.java index 52c5763..e49c1c8 100644 --- a/data-access/servlet/src/main/java/cutout/CutoutImpl.java +++ b/data-access/servlet/src/main/java/cutout/CutoutImpl.java @@ -379,7 +379,7 @@ class CutoutImpl implements Cutout jReq.add(countNullValues); jReq.add(extraCards); - String outJson = doRpc( jReq.toString() ); + String outJson = RpcOverAmqp.doRpc( settings.amqpConn, jReq.toString() ); cutResult = JsonDecoder.responseFromCutoutJson( outJson ); } @@ -445,49 +445,6 @@ class CutoutImpl implements Cutout } - - private String doRpc(String InStr) - { - final String userName = "guest"; - final String password = "guest"; - // FIXME move these to Settings - - RpcOverAmqp rpc = new RpcOverAmqp( - userName, password, - settings.amqpConn.hostName(), - settings.amqpConn.portNumber(), - settings.amqpConn.routingKey()); - - rpc.initConnectionAndReplyQueue(); - - String OutStr = null; - - try - { - LOGGER.info("Sent request : " + InStr); - OutStr = rpc.callAndWaitReply(InStr); - LOGGER.info("Got response : " + OutStr); - } - catch (Exception e) - { - e.printStackTrace(); - } - finally - { - try - { - rpc.close(); - } - catch (Exception ignore) - { - LOGGER.info("ignoring exception on rpc.close():" + ignore.getMessage()); - } - } - - return OutStr; - } - - private String generateSubimgPathname(String relPathname, int hdunum) { String cutfitsname = "vlkb-cutout"; diff --git a/data-access/servlet/src/main/java/cutout/DatasetsAmqp.java b/data-access/servlet/src/main/java/cutout/DatasetsAmqp.java index cd37504..1fd7786 100644 --- a/data-access/servlet/src/main/java/cutout/DatasetsAmqp.java +++ b/data-access/servlet/src/main/java/cutout/DatasetsAmqp.java @@ -78,57 +78,13 @@ class DatasetsAmqp implements Datasets LOGGER.info("doMCutout over AMQP"); String updatedJsonString = JdlMCutout.resolveAndUpdateJsonRequest(jdlJson, settings, subsurveys); LOGGER.info("doMCutout over AMQP : " + updatedJsonString); - String outJson = doRpc( JdlMCutout.mcutoutToJson(updatedJsonString) ); + String outJson = RpcOverAmqp.doRpc(settings.amqpConn, JdlMCutout.mcutoutToJson(updatedJsonString) ); mCutResult = JdlMCutout.responseFromMCutoutJson(outJson); return mCutResult; } - private String doRpc(String InStr) - { - LOGGER.info("trace"); - - final String userName = "guest"; - final String password = "guest"; - // FIXME move these to Settings - - RpcOverAmqp rpc = new RpcOverAmqp( - userName, password, - settings.amqpConn.hostName(), - settings.amqpConn.portNumber(), - settings.amqpConn.routingKey()); - - rpc.initConnectionAndReplyQueue(); - - String OutStr = null; - - try - { - LOGGER.info("Sent request : " + InStr); - OutStr = rpc.callAndWaitReply(InStr); - LOGGER.info("Got response : " + OutStr); - } - catch (Exception e) - { - e.printStackTrace(); - } - finally - { - try - { - rpc.close(); - } - catch (Exception ignore) - { - LOGGER.info("ignoring exception on rpc.close():" + ignore.getMessage()); - } - } - - return OutStr; - } - - /* ================= MERGE =============================== */ private String generateSubimgPathname(String relPathname, int hdunum) @@ -184,7 +140,7 @@ class DatasetsAmqp implements Datasets String inJson = jReq.toString(); - return JsonDecoder.responseFromCutoutJson( doRpc(inJson) ); + return JsonDecoder.responseFromCutoutJson( RpcOverAmqp.doRpc(settings.amqpConn, inJson) ); } @@ -278,7 +234,7 @@ class DatasetsAmqp implements Datasets LOGGER.info("trace"); String InJson = JsonEncoderMerge.mergefilesToJson( prefix, filestomerge); - String OutJson = doRpc(InJson); + String OutJson = RpcOverAmqp.doRpc(settings.amqpConn, InJson); return JsonDecoder.responseFromCutoutJson( OutJson ); } @@ -384,7 +340,7 @@ class DatasetsAmqp implements Datasets LOGGER.info("trace"); String InJson = JsonEncoderMerge.mergefilesCommonHeaderToJson(jobId, prefix, filestomerge); - String OutJson = doRpc(InJson); + String OutJson = RpcOverAmqp.doRpc(settings.amqpConn, InJson); String[] results = null; // FIXME JsonDecoder.responseFromJson(OutJson); return results; @@ -399,7 +355,7 @@ class DatasetsAmqp implements Datasets LOGGER.info("trace"); String InJson = JsonEncoderMerge.mergefilesReprojectToJson(jobId, prefix, fitsfilename); - String OutJson = doRpc(InJson); + String OutJson = RpcOverAmqp.doRpc(settings.amqpConn, InJson); String[] results = null; // FIXME JsonDecoder.responseFromJson(OutJson); return results; @@ -413,7 +369,7 @@ class DatasetsAmqp implements Datasets LOGGER.info("trace"); String InJson = JsonEncoderMerge.mergefilesAddReprojectedToJson(jobId, prefix); - String OutJson = doRpc(InJson); + String OutJson = RpcOverAmqp.doRpc(settings.amqpConn, InJson); String[] results = null; // FIXME JsonDecoder.responseFromJson(OutJson); return results; diff --git a/data-access/servlet/src/main/java/cutout/RpcOverAmqp.java b/data-access/servlet/src/main/java/cutout/RpcOverAmqp.java index 795408d..ff4068e 100644 --- a/data-access/servlet/src/main/java/cutout/RpcOverAmqp.java +++ b/data-access/servlet/src/main/java/cutout/RpcOverAmqp.java @@ -13,6 +13,7 @@ // of vlkb-requests from Exchange to the correct queue +import java.util.logging.Logger; import com.rabbitmq.client.ConnectionFactory; import com.rabbitmq.client.Connection; @@ -24,6 +25,8 @@ import java.util.UUID; public class RpcOverAmqp { + private static final Logger LOGGER = Logger.getLogger("RpcOverAmqp"); + private final boolean NO_ACK = true; // affects message consume from queue: // broker will remove msg right after delivery without waiting for confirmation @@ -43,6 +46,47 @@ public class RpcOverAmqp private int channelNumber; + public static String doRpc(Settings.AmqpConn amqpConn, String InStr) + { + final String userName = "guest"; + final String password = "guest"; + // FIXME move these to Settings + + RpcOverAmqp rpc = new RpcOverAmqp( + userName, password, + amqpConn.hostName(), + amqpConn.portNumber(), + amqpConn.routingKey()); + + rpc.initConnectionAndReplyQueue(); + + String OutStr = null; + + try + { + LOGGER.info("Sent request : " + InStr); + OutStr = rpc.callAndWaitReply(InStr); + LOGGER.info("Got response : " + OutStr); + } + catch (Exception e) + { + e.printStackTrace(); + } + finally + { + try + { + rpc.close(); + } + catch (Exception ignore) + { + LOGGER.info("ignoring exception on rpc.close():" + ignore.getMessage()); + } + } + + return OutStr; + } + RpcOverAmqp(String userName, String password, String hostName, int portNumber, String routingKey) { this.userName = userName; diff --git a/data-access/servlet/src/main/java/webapi/Settings.java b/data-access/servlet/src/main/java/webapi/Settings.java index 30be9a7..5ae1bb5 100644 --- a/data-access/servlet/src/main/java/webapi/Settings.java +++ b/data-access/servlet/src/main/java/webapi/Settings.java @@ -66,7 +66,7 @@ class Settings } - public static class AMQPConn + public static class AmqpConn { private String hostName; private int portNum; @@ -89,7 +89,7 @@ class Settings public FITSPaths fitsPaths; public DBConn dbConn; - public AMQPConn amqpConn; + public AmqpConn amqpConn; public DefaultParamValues defaults; @@ -109,7 +109,7 @@ class Settings FITSPaths fitsPaths = loadFITSPaths(properties); DBConn dbConn = loadDBConn(properties); - AMQPConn amqpConn = loadAMQPConn(properties); + AmqpConn amqpConn = loadAmqpConn(properties); DefaultParamValues defaults = loadDefaults(properties); return new Settings(dbConn, amqpConn, fitsPaths, defaults); @@ -128,7 +128,7 @@ class Settings - private Settings(DBConn dbConn, AMQPConn amqpConn, + private Settings(DBConn dbConn, AmqpConn amqpConn, FITSPaths fitsPaths, DefaultParamValues defaults) { this.fitsPaths = fitsPaths; @@ -169,9 +169,9 @@ class Settings return defaults; } - private static AMQPConn loadAMQPConn(Properties properties) + private static AmqpConn loadAmqpConn(Properties properties) { - AMQPConn amqpconn = new AMQPConn(); + AmqpConn amqpconn = new AmqpConn(); amqpconn.hostName = properties.getProperty("amqp_host_name", "").strip(); String strPortNum = properties.getProperty("amqp_port", "5672").strip(); amqpconn.portNum = Integer.parseInt(strPortNum); -- GitLab