如何以编程方式读取 jpos QMUX 关键字段?

San*_*jok 3 jpos multiplexing iso8583

出于某种原因,我想读取我在 QMUX 配置文件(20_client_mux.xml)中设置的密钥。<key>37</key>我无法从 jpos 本身找到任何方法,所以我使用下面的代码来完成任务。我想在不使用 Reflection 的情况下做到这一点,如果不需要创建扩展 或 的子类,我很QMUX高兴XMLConfigurable

    import org.springframework.util.ReflectionUtils;

    private static String getUniqueFieldId() {
            final String[][] key = {new String[1]};
            ReflectionUtils.doWithFields(QMUX.class, field -> {
                if (field.getName().equals("key")) {
                    field.setAccessible(true);
                    key[0] = (String[]) field.get(mux);
                }
            });
            return key[0][0];
        }

Run Code Online (Sandbox Code Playgroud)

San*_*jok 5

毕竟,我能够通过简短的单行代码访问密钥,并且无需为此目的创建一个新类。

mux.getPersist().getChildTextTrim("key");
Run Code Online (Sandbox Code Playgroud)