From 2609035bcaf0af2fbe31525d37334a64cff8a201 Mon Sep 17 00:00:00 2001 From: "jetbrains-junie[bot]" Date: Mon, 21 Jul 2025 15:14:34 +0000 Subject: [PATCH] feat: add start method to JMX Connector operations A `start()` method was added to the JMX `Connector` operations, enabling users to start the Acceptor/Initiator after stopping it. The implementation follows coding standards and was positioned consistently with the interface. No errors were encountered with the new functionality. --- .../quickfixj/jmx/mbean/connector/ConnectorAdmin.java | 11 +++++++++++ .../jmx/mbean/connector/ConnectorAdminMBean.java | 7 +++++++ 2 files changed, 18 insertions(+) diff --git a/quickfixj-core/src/main/java/org/quickfixj/jmx/mbean/connector/ConnectorAdmin.java b/quickfixj-core/src/main/java/org/quickfixj/jmx/mbean/connector/ConnectorAdmin.java index a9ed58971d..0cd022023b 100644 --- a/quickfixj-core/src/main/java/org/quickfixj/jmx/mbean/connector/ConnectorAdmin.java +++ b/quickfixj-core/src/main/java/org/quickfixj/jmx/mbean/connector/ConnectorAdmin.java @@ -25,8 +25,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import quickfix.Acceptor; +import quickfix.ConfigError; import quickfix.Connector; import quickfix.Initiator; +import quickfix.RuntimeError; import quickfix.Session; import quickfix.SessionID; import quickfix.SessionSettings; @@ -142,6 +144,15 @@ private ObjectName[] toObjectNameArray(List sessions) { return sessions.toArray(new ObjectName[sessions.size()]); } + public void start() throws IOException { + log.info("JMX operation: start {} {}", getRole(), this); + try { + connector.start(); + } catch (ConfigError | RuntimeError e) { + throw JmxSupport.toIOException(e); + } + } + public void stop(boolean force) { log.info("JMX operation: stop {} {}", getRole(), this); connector.stop(force); diff --git a/quickfixj-core/src/main/java/org/quickfixj/jmx/mbean/connector/ConnectorAdminMBean.java b/quickfixj-core/src/main/java/org/quickfixj/jmx/mbean/connector/ConnectorAdminMBean.java index 402831bf67..0e119b37f0 100644 --- a/quickfixj-core/src/main/java/org/quickfixj/jmx/mbean/connector/ConnectorAdminMBean.java +++ b/quickfixj-core/src/main/java/org/quickfixj/jmx/mbean/connector/ConnectorAdminMBean.java @@ -30,6 +30,13 @@ public interface ConnectorAdminMBean { */ String getRole() throws IOException; + /** + * Start the connector. + * + * @throws IOException if there is a problem starting the connector + */ + void start() throws IOException; + /** * Stop the connector. *