From fede83ae3c1dce6d49faf159e26833592ef23dfb Mon Sep 17 00:00:00 2001 From: Morris Guan <44405167+mkwan01@users.noreply.github.com> Date: Tue, 30 Sep 2025 12:39:46 -0400 Subject: [PATCH 1/2] Add getter method for table descriptor --- .../io/github/theprez/triggermanager/TriggerDescriptor.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/github/theprez/triggermanager/TriggerDescriptor.java b/src/main/java/io/github/theprez/triggermanager/TriggerDescriptor.java index d6d3782..982d140 100644 --- a/src/main/java/io/github/theprez/triggermanager/TriggerDescriptor.java +++ b/src/main/java/io/github/theprez/triggermanager/TriggerDescriptor.java @@ -19,8 +19,12 @@ String getTriggerId() { return m_triggerId; } + TableDescriptor getTableDescriptor() { + return m_table; + } + @Override public String toString() { return String.format("(%s) -> [%s/%s]", m_table, m_library, m_triggerId); } -} \ No newline at end of file +} From 76ec99ab4254956edafaafea45bcb5b4378a1e42 Mon Sep 17 00:00:00 2001 From: Morris Guan <44405167+mkwan01@users.noreply.github.com> Date: Tue, 30 Sep 2025 12:42:10 -0400 Subject: [PATCH 2/2] Update Kafka topic name 1. Generate Kafka topic name from host name, schema name and table name 2. Hide password when printing DTAQ uri in verbose mode --- .../theprez/triggermanager/TriggerDaemon.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/github/theprez/triggermanager/TriggerDaemon.java b/src/main/java/io/github/theprez/triggermanager/TriggerDaemon.java index e8d6a6f..b87f6cc 100644 --- a/src/main/java/io/github/theprez/triggermanager/TriggerDaemon.java +++ b/src/main/java/io/github/theprez/triggermanager/TriggerDaemon.java @@ -40,15 +40,24 @@ void start() throws Exception { for (final TriggerDescriptor trigger : triggers) { - final String kafkaUri = String.format("kafka:%s?brokers=%s", trigger.getTriggerId(), kafkaBrokerUri); final String password = IBMiDotEnv.getDotEnv().get("IBMI_PASSWORD", "*CURRENT"); final String username = IBMiDotEnv.getDotEnv().get("IBMI_USERNAME", "*CURRENT"); final String hostname = IBMiDotEnv.getDotEnv().get("IBMI_HOSTNAME", "localhost"); + + // Create Kafka topic name using hostname, schema name and table name + final String topicName = hostname + "_" + trigger.getTableDescriptor().getSchema() + + "_" + trigger.getTableDescriptor().getName(); + final String kafkaUri = String.format("kafka:%s?brokers=%s", topicName, kafkaBrokerUri); + final String dtaqUri = String.format( "jt400://%s:%s@%s/qsys.lib/%s.lib/%s.dtaq?keyed=false&format=binary&guiAvailable=false", username, password, hostname, trigger.getLibrary(), trigger.getTriggerId()); - - m_logger.printfln_verbose("%s --> %s", dtaqUri, kafkaUri); + + // Hide the password in the dtaqUri in verbose mode + final String maskedDtaqUri = String.format( + "jt400://%s:%s@%s/qsys.lib/%s.lib/%s.dtaq?keyed=false&format=binary&guiAvailable=false", + username, "xxxxx", hostname, trigger.getLibrary(), trigger.getTriggerId()); + m_logger.printfln_verbose("%s --> %s", maskedDtaqUri, kafkaUri); context.addRoutes(new RouteBuilder() { @Override