是否可以将多个数据源声明到WebSphere Liberty Profileserver.xml?有什么例子吗?
我尝试这样做,但我只能看到一个。当查找第二个时,我收到一条错误消息,提示找不到jndi名称。
我的server.xml:
<?xml version="1.0" encoding="UTF-8"?>
<server description="new server">
<!-- Enable features -->
<featureManager>
<feature>webProfile-7.0</feature>
<feature>jndi-1.0</feature>
<feature>jdbc-4.0</feature>
</featureManager>
<!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" -->
<httpEndpoint id="defaultHttpEndpoint"
httpPort="9080"
httpsPort="9443" />
<!-- Automatically expand WAR files and EAR files -->
<applicationManager autoExpand="true"/>
<!-- Configuration for DSPB -->
<jndiEntry jndiName="dspb/configuration/files" value="classpath:properties/dspb.properties,classpath:properties/dspb_db_connector.properties" />
<dataSource id="ds1" jndiName="DB_DSPB_ACTIVITI" connectionManagerRef="connectionManager1" jdbcDriverRef="MyJDBCDriver">
<properties.oracle driverType="thin" databaseName="xe"
serverName="localhost" portNumber="1521"
user="dspb_activiti" password="dspb_activiti"/>
</dataSource>
<dataSource id="ds2" jndiName="DB_DSPB" connectionManagerRef="connectionManager2" jdbcDriverRef="MyJDBCDriver">
<properties.oracle driverType="thin" databaseName="xe"
serverName="localhost" portNumber="1521"
user="dspb" password="dspb"/>
</dataSource>
<connectionManager id="connectionManager1" maxPoolSize="20" minPoolSize="5"
connectionTimeout="10s" agedTimeout="30m"/>
<connectionManager id="connectionManager2" maxPoolSize="20" minPoolSize="5"
connectionTimeout="10s" agedTimeout="30m"/>
<jdbcDriver id="MyJDBCDriver">
<library>
<fileset dir="C:/oraclexe/app/oracle/product/11.2.0/server/jdbc/lib/" includes="ojdbc6.jar"/>
</library>
</jdbcDriver>
</server>
以及网络中的定义.xml:
<resource-ref>
<res-ref-name>DB_DSPB</res-ref-name>
<res-type>javax.sql.ConnectionPoolDataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
<resource-ref>
<res-ref-name>DB_DSPB_ACTIVITI</res-ref-name>
<res-type>javax.sql.ConnectionPoolDataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
<resource-ref>
<res-ref-name>dspb/configuration/files</res-ref-name>
<res-auth>Container</res-auth>
</resource-ref>
在jconsole看来,我只能看到http://i.stack.imgur.com/euN8e.jpg的DSPB
怎么了?
因此,ibm-web-bnd.xml丢失了,这是一件非常奇怪的事情...
<web-bnd
xmlns="http://websphere.ibm.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-bnd_1_0.xsd"
version="1.0">
<resource-ref name="DB_DSPB" binding-name="DB_DSPB"/>
<resource-ref name="DB_DSPB_ACTIVITI" binding-name="DB_DSPB_ACTIVITI"/>
艾瑞克
是的,这是可能的。只需指定单独的
例如:
<dataSource id="ds1" jndiName="jdbc/ds1" jdbcDriverRef="MyJDBCDriver">
<properties ... />
</dataSource>
<dataSource id="ds2" jndiName="jdbc/ds2" jdbcDriverRef="MyJDBCDriver">
<properties ... />
</dataSource>
请注意,两个数据源都有一个
jdbc 驱动程序引用
,它对应于
<jdbcDriver id="MyJDBCDriver">
<library>
<fileset dir="${server.config.dir}/jdbcDrivers" includes="driver.jar"/>
</library>
</jdbcDriver>
或者,您可以嵌套
<dataSource id="ds1" jndiName="jdbc/ds1">
<properties ... />
<jdbcDriver>
<library>
<fileset dir="${server.config.dir}/jdbcDrivers" includes="someJDBCDriver.jar"/>
</library>
</jdbcDriver>
</dataSource>
这里有一个到IBM官方文档的链接:在Liberty中配置数据库连接
所以,我已经找到了实现这一点的方法。我的阵列看起来一团糟。这个问题很难解释,所以我会提供一些图片和代码。 编辑:问题是for循环和x1,y1,z1变量由浮点数控制 制作3x3x1阵列会产生以下结果:
问题内容: 我有两个数据库和两个模型:管理员和用户。 我想将我的模型同步到两个数据库;admin模型到数据库A,用户模型到数据库B; 如果我将模型路径设置为和,则两个模型将同步到默认数据库。 如果我在命令中设置数据库,例如,则两个模型将同步到数据库B。 所以我的问题是,如何将两个模型同步到两个数据库? 问题答案: 我完全同意@alecxe使用数据库路由器。我目前正在使用一个管理界面来管理多个数据库
我有两个数据库和两个模型:管理员和用户。 我想将我的模型同步到两个数据库;管理模型到数据库A,用户模型到数据库B; 如果我将模型路径设置为和,这两个模型将同步到默认数据库。 如果我在命令中设置数据库,比如,那么这两个模型将同步到数据库B。 所以我的问题是,如何将这两个模型同步到两个数据库?
问题内容: 我在Junit应用程序上下文文件中定义了三个(JDBC)。其中两个需要进行事务管理;使用这两个数据源时,我不必链接任何方法(它们完全彼此独立)。 当我使用单个事务管理器作为时,我没有问题,即使已被使用但未在相应方法中进行管理。尽管如此,在还需要管理来自各种DAO类的方法(仅使用这些方法)后,我添加了第二个事务- 。上下文文件包含以下内容: 由于要定义多个事务管理器,因此我用他们自己的值
sampleClass.java 在sampleClass.java am中,将integrationTemplate作为null。为什么会这样?mainJdbcTemplate正在工作。但是integrationTemplate变为null,无法导出查询。
我已经使用 使用数据源连接数据库,但我们有50多个数据库。所以我想动态连接数据库。请帮帮我.