【问题标题】:How to read attributes using XML apache commons configuration如何使用 XML apache commons 配置读取属性
【发布时间】:2015-06-02 11:45:41
【问题描述】:

我正在使用 Apache Commons Configuration 读取 xml 文件中的配置 - standalone-full-ha.xml 应用服务器中的 standalone-full-ha.xml

<?xml version="1.0" ?>
<server xmlns="urn:jboss:domain:2.2">
...
...
<profile>
...
...
  <subsystem xmlns="urn:jboss:domain:datasources:2.0">
    <datasources>
      <datasource jta="true" jndi-name="java:/TestDB" pool-name="TestDB" enabled="true" use-java-context="true" spy="false" use-ccm="true">
      <connection-url>jdbc:sybase:Tds:ip:port/db-name</connection-url>
      ...
...
  </subsystem>
 </profile>
</server>

如何从上面的xml中读取jndi名称java:/TestDB和连接urljdbc:sybase:Tds:ip:port/db-name

我尝试了以下但没有得到结果。

XMLConfiguration conf = new XMLConfiguration();
((XMLConfiguration) conf).setDelimiterParsingDisabled(true);
((XMLConfiguration) conf).load("xml file location");
String url = conf.getString("server/profile/subsystem[xmlns= 'urn:jboss:domain:datasources:2.0']/datasources/datasource/connection-url");
String jndiName = conf.getString("server/profile/subsystem[xmlns= 'urn:jboss:domain:datasources:2.0']/datasources/datasource[jndi-name]");

任何人都可以建议如何使用 XML apache commons 配置从 xml 中读取 jndi 名称和连接 url。谢谢。

【问题讨论】:

    标签: java xml xml-parsing apache-commons


    【解决方案1】:

    WildFly 有一个管理 API

    (https://docs.jboss.org/author/display/WFLY8/Management+API+reference)

    我建议使用该 API 来访问 WildFly 配置 而不是“手动”解析它

    【讨论】:

    • 非常感谢..安德烈。我需要从standalone-full-ha.xml 中读取数据源信息并将其加载到java 上下文中以供应用程序使用。我浏览了共享的链接,它们基于命令行。我如何通过编码来实现。请帮我。谢谢。
    • 我目前没有可用的 jboss 实例来测试它自己......但看看这个链接......mastertheboss.com/jboss-server/jboss-monitoring/…我认为博客条目应该回答你的问题。它展示了如何构建一个通过 jboss 管理 API 访问配置信息的 slsb。应该可以编写一个独立的应用程序来访问正在运行的 wildlfy 实例的配置。
    • 非常感谢..安德烈。我会查看链接并尝试一下。
    • @sridhar 你找到了解决方案,我遇到了同样的情况?
    猜你喜欢
    • 2011-08-31
    • 2012-01-28
    • 2011-03-10
    • 2012-02-08
    • 2017-02-10
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多