【发布时间】:2017-03-06 14:47:27
【问题描述】:
我需要将 xml 中的数据源配置转换为 java。 我正在使用 Java 的 DataSource impl。尝试使用 OracleDataSource 对象,但有些功能我无法定义,例如:statement-cache-size
您对我应该使用哪个 DataSource impl 有什么建议吗?转换对象的正确用法是什么?
XML:
<data-source action="update" name="serverNm">
<database-name />
<minimum-pool-size>0</minimum-pool-size>
<maximum-pool-size>6</maximum-pool-size>
<connection-timeout>1</connection-timeout>
<idle-timeout>600</idle-timeout>
<orphan-timeout>30</orphan-timeout>
<statement-cache-size>100000</statement-cache-size>
<other-props>stmtBuffCleanPolicy=;</other-props>
<default-user />
<default-password />
<disable-auto-connectioncleanup>false</disable-auto-connectioncleanup>
<description />
<jndi-name>jdbc/serverNm</jndi-name>
<logging-options>-1</logging-options>
<config-properties>
<property name="URL"
value="jdbc:oracle:thin:@hostName:1521:S81U" />
<property name="user" value="user" />
<property name="password" value="password" />
<property name="driverType" value="" />
<property name="driverConfig" value="" />
<property name="connRateThrottle" value="60000" />
<property name="connectionProperties"
value="oracle.jdbc.V8Compatible=true;oracle.jdbc.TcpNoDelay=true;oracle.jdbc.RetainV9LongBindBehavior=true" />
</config-properties>
</data-source>
Java:
OracleDataSource ds = new OracleDataSource();
ds.setDriverType(dbDriverClassName);
ds.setURL(host);
ds.setUser(user);
ds.setPassword(password);
谢谢
【问题讨论】:
-
这个数据源 xml 片段来自哪里?我假设一些服务器配置?两者之间没有直接关系。你把苹果和橙子混合在一起。如果 xml 来自 persistence.xml 或类似文件,那么这些属性中的许多属性都与应用服务器的使用情况有关。
-
OracledataSource 实现中缺少哪些属性?
-
@Yohannes 例如:statement-cache-size,orphan-timeout,maximum-pool-size
标签: java xml converter data-conversion