我需要在运行时读取 standalone.xml 中定义的所有数据源数据,我需要服务器、用户、传递等(所有数据)手动(通过 jdbc 或其他方式)连接到每个数据源。
例如,如果我有一个文件:standalone.xml 像这样:(有 2 个数据源 def ..)
1)
<xa-datasource jndi-name="java:jboss/datasources/MyDS1" pool-name="MyDSPool1" enabled="true">
<xa-datasource-property name="URL">
jdbc:mysql://localhost:3306/mydb
</xa-datasource-property>
<driver>mysql</driver>
<security>
<user-name>myuser</user-name>
<password>mypass</password>
</security>
</xa-datasource>
<xa-datasource jndi-name="java:jboss/datasources/MyDS2" pool-name="MyDSPool2" enabled="true">
Run Code Online (Sandbox Code Playgroud)
2)
<xa-datasource-property name="URL">
jdbc:mysql://localhost:3306/mydb
</xa-datasource-property>
<driver>mysql</driver>
<security>
<user-name>root</user-name>
<password>root</password>
</security>
</xa-datasource>
Run Code Online (Sandbox Code Playgroud)
然后..在我的 EAP 应用程序中,在我的 servlet(我的 EAP 应用程序的入口点)中,我需要读取 standalone.xml(物理文件),然后获取每个数据源信息并连接到每个数据库。(我不需要在任何 EJB 模块的 EJB 类中注入数据源,我只需要动态读取 standalone.xml(在运行时)并通过 jdbc 连接到每个数据源。我需要读取/循环定义的所有数据源在standalone.xml中并在那一刻通过jdbc连接到每个人(在servlet中)我知道如何通过ejb类中的注释或jndi使用数据源,但我真的需要首先打开/读取standalone.xml(使用getResourceAsStream ? 或类似的东西)并连接到其中定义的每个数据源(应用程序可以使用的所有可能的数据源),例如通过 jdbc 连接到每个数据源)并进行一些检查!
所以基本上我需要的是:在servlet中动态访问/读取StandAlone.xml,(所有数据源数据)。解析它或其他东西,获取所有数据源定义,使用从 standalone.xml 读取的数据通过 jdbc 连接到每个数据源,做一些检查,仅此而已。那可能吗?我正在使用 Jboss EAP 6.2。
谢谢