21 сент. 2009 г.

Переключение между базами данных в jboss 4.2.2.

В jboss предусмотрена возможность переключаться между базами данных при отказе в обслуживании.
Для этого существует 2 типа datasource'ов: ha-local-tx-datasource и ha-xa-datasource.
Основным отличием является наличие в них тега <url-delimiter>|</url-delimiter>.

Пример подключения к oracle 9 через thin client:
<?xml version="1.0" encoding="UTF-8"?>

<datasources>
<ha-local-tx-datasource>
<jndi-name>MySeriousDS</jndi-name>
<connection-url>jdbc:oracle:thin:@host1:1521:sid|jdbc:oracle:thin:@host2:1521:sid</connection-url>
<url-delimiter>|</url-delimiter>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>user</user-name>
<password>password</password>
<min-pool-size>25</min-pool-size>
<max-pool-size>100</max-pool-size>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<new-connection-sql>select 1 from dual</new-connection-sql>
<check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</ha-local-tx-datasource>

</datasources>


Если host-1 перестанет отвечать, jboss будет работать с host-2, пока он будет доступен. Как только перестанет отвечать host-2, произойдёт обратное переключение.


оригинальная статья

Комментариев нет: