/
jdbc-maihamadb-slave.xml
42 lines (38 loc) · 2.53 KB
/
jdbc-maihamadb-slave.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//DBFLUTE//DTD LastaDi 1.0//EN"
"http://dbflute.org/meta/lastadi10.dtd">
<components namespace="jdbc_slave">
<include path="jta.xml"/> <!-- for e.g. transaction manager -->
<include path="lastaflute_assist.xml"/> <!-- for configuration provider -->
<!-- [notice as example]
actually use e.g. slave.jdbc.url, slave.jdbc.user
and slave.jdbc.connection... (especially should be read.only)
-->
<component name="xaDataSource" class="org.lastaflute.db.dbcp.HookedXADataSource">
<property name="driverClassName">
provider.config().getJdbcDriver()
</property>
<property name="URL">
provider.config().getSlaveJdbcUrl()
</property>
<property name="user">provider.config().getSlaveJdbcUser()</property>
<property name="password">provider.config().getSlaveJdbcPassword()</property>
</component>
<component name="connectionPool" class="org.lastaflute.db.dbcp.HookedConnectionPool">
<!-- main option, required -->
<property name="maxPoolSize">provider.config().getSlaveJdbcConnectionPoolingSize()</property>
<!-- sub option, not required (setter not called if null) -->
<property name="minPoolSize"> provider.config().getOrDefault("slave.jdbc.connection.pooling.min.size", null) </property>
<property name="maxWait"> provider.config().getOrDefault("slave.jdbc.connection.pooling.max.wait", null) </property>
<property name="timeout"> provider.config().getOrDefault("slave.jdbc.connection.pooling.timeout", null) </property>
<property name="suppressLocalTx"> provider.config().getOrDefault("slave.jdbc.connection.pooling.suppress.local.tx", null) </property>
<property name="readOnly"> provider.config().getOrDefault("slave.jdbc.connection.pooling.read.only", null) </property>
<property name="validationQuery"> provider.config().getOrDefault("slave.jdbc.connection.pooling.validation.query", null) </property>
<property name="validationInterval"> provider.config().getOrDefault("slave.jdbc.connection.pooling.validation.interval", null) </property>
<!-- may be almost unused (want to change property type if supported)
<property name="transactionIsolationLevel">provider.config().getOrDefault("slave.jdbc.connection.pooling.transaction.isolation.level", null)</property>
-->
</component>
<!-- [tips] this component name is used as selectable data source so very important -->
<component name="slaveDataSource" class="org.lastaflute.db.dbcp.HookedPooledDataSource"/>
</components>