JBoss 7.1.1 如何管理与同一数据库的不同模式的连接
How does JBoss 7.1.1 manage connection to different schemas of the same database
所以我有一个 servlet,我在其中使用默认架构(在 JBoss 管理控制台中设置)使用数据源(我只传递 JNDI 名称)登录到数据库,但稍后我需要使用另一个模式连接同一个数据库以获得一些文本。
JBoss 如何管理这个?我可以在 java 代码中以某种方式提供后来的架构和密码吗?
Èn standalone.xml 您声明了所有数据源。 jndi 可以在运行时通过查找 InitialContext 实例来获取这些连接。
使用 JNDI 建立连接时,您需要在管理控制台或 standalone.xml 文件中配置新的数据源。这将只是一个新的数据源,连接 URL 连接到同一个数据库,但指向一个新的模式。
standalone.xml 中的示例输出:
<datasource jta="false" jndi-name="java:/firstDS" pool-name="firstDS" enabled="true" use-ccm="false">
<connection-url>jdbc:oracle:thin:@devdb:1521:SCHEMA_1</connection-url>
<driver-class>oracle.jdbc.OracleDriver</driver-class>
<driver>oracle</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
...
<datasource jta="false" jndi-name="java:/secondDS" pool-name="secondDS" enabled="true" use-ccm="false">
<connection-url>jdbc:oracle:thin:@devdb:1521:SCHEMA_2</connection-url>
<driver-class>oracle.jdbc.OracleDriver</driver-class>
<driver>oracle</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
现在,在您的应用程序的第二部分中,您将在建立连接时仅引用第二个数据源的 JNDI 名称。
所以我有一个 servlet,我在其中使用默认架构(在 JBoss 管理控制台中设置)使用数据源(我只传递 JNDI 名称)登录到数据库,但稍后我需要使用另一个模式连接同一个数据库以获得一些文本。
JBoss 如何管理这个?我可以在 java 代码中以某种方式提供后来的架构和密码吗?
Èn standalone.xml 您声明了所有数据源。 jndi 可以在运行时通过查找 InitialContext 实例来获取这些连接。
使用 JNDI 建立连接时,您需要在管理控制台或 standalone.xml 文件中配置新的数据源。这将只是一个新的数据源,连接 URL 连接到同一个数据库,但指向一个新的模式。
standalone.xml 中的示例输出:
<datasource jta="false" jndi-name="java:/firstDS" pool-name="firstDS" enabled="true" use-ccm="false">
<connection-url>jdbc:oracle:thin:@devdb:1521:SCHEMA_1</connection-url>
<driver-class>oracle.jdbc.OracleDriver</driver-class>
<driver>oracle</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
...
<datasource jta="false" jndi-name="java:/secondDS" pool-name="secondDS" enabled="true" use-ccm="false">
<connection-url>jdbc:oracle:thin:@devdb:1521:SCHEMA_2</connection-url>
<driver-class>oracle.jdbc.OracleDriver</driver-class>
<driver>oracle</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
现在,在您的应用程序的第二部分中,您将在建立连接时仅引用第二个数据源的 JNDI 名称。