如何为一个数据库写2个ip?
How to write 2 ip for one database?
我有数据源配置文件,其中 context
和 resource(s)
像这样
<Context>
<Resource
name="jdbc/pds"
auth="Container"
driverClassName="oracle.jdbc.driver.OracleDriver"
factory="myPackage.EncryptedDataSourceFactory"
logAbandoned="true"
maxTotal="30"
maxIdle="10"
maxWaitMillis="1000"
password="encryptedPassword"
removeAbandoned="true"
removeAbandonedTimeout="60"
type="javax.sql.DataSource"
url="jdbc:oracle:thin:@myFirstIP:port:MYDB"
username="username"
accessToUnderlyingConnectionAllowed="true"
validationQuery="select 1 from dual" />
</Context>
我的目标是使用 ip myFirstIP
从 base 获取数据,但如果由于某种原因无法执行 validationQuery
,例如 base 被禁用,我想获取连接并从中获取数据以 ip mySecondIP
为基地。
我知道我可以创建具有 mySecondIP
ip 的第二个资源并在应用程序端检查它(对我来说在 JAVA 中)如果禁用 myFirstIP
创建与 mySecondIP
的连接。但是如果我不想在应用程序端进行额外的检查,我可以使用这个配置文件来与 myFirstIP
建立默认连接吗?如果它被 mySecondIP
禁用?这可能吗?如果不可能,我的问题的最佳解决方案是什么?
我正在使用 oracle 11.2.0.2.0
、java8
和 tomcat 8.5 / wildfly 9
对 2 个或更多地址使用 TNS 关键字值语法
url="jdbc:oracle:thin:@(DESCRIPTION=(FAILOVER=ON)(LOAD_BALANCE=off)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.88)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.89)(PORT = 1521)))(CONNECT_DATA=(SERVICE_NAME = D88)(FAILOVER_MODE=(TYPE=select)(METHOD=basic))(SERVER = DEDICATED)))";
我有数据源配置文件,其中 context
和 resource(s)
像这样
<Context>
<Resource
name="jdbc/pds"
auth="Container"
driverClassName="oracle.jdbc.driver.OracleDriver"
factory="myPackage.EncryptedDataSourceFactory"
logAbandoned="true"
maxTotal="30"
maxIdle="10"
maxWaitMillis="1000"
password="encryptedPassword"
removeAbandoned="true"
removeAbandonedTimeout="60"
type="javax.sql.DataSource"
url="jdbc:oracle:thin:@myFirstIP:port:MYDB"
username="username"
accessToUnderlyingConnectionAllowed="true"
validationQuery="select 1 from dual" />
</Context>
我的目标是使用 ip myFirstIP
从 base 获取数据,但如果由于某种原因无法执行 validationQuery
,例如 base 被禁用,我想获取连接并从中获取数据以 ip mySecondIP
为基地。
我知道我可以创建具有 mySecondIP
ip 的第二个资源并在应用程序端检查它(对我来说在 JAVA 中)如果禁用 myFirstIP
创建与 mySecondIP
的连接。但是如果我不想在应用程序端进行额外的检查,我可以使用这个配置文件来与 myFirstIP
建立默认连接吗?如果它被 mySecondIP
禁用?这可能吗?如果不可能,我的问题的最佳解决方案是什么?
我正在使用 oracle 11.2.0.2.0
、java8
和 tomcat 8.5 / wildfly 9
对 2 个或更多地址使用 TNS 关键字值语法
url="jdbc:oracle:thin:@(DESCRIPTION=(FAILOVER=ON)(LOAD_BALANCE=off)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.88)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.89)(PORT = 1521)))(CONNECT_DATA=(SERVICE_NAME = D88)(FAILOVER_MODE=(TYPE=select)(METHOD=basic))(SERVER = DEDICATED)))";