I'm trying to use HA-JDBC[1] with TomEE to have a cluster of at least 2
databases. As per documentation and forum discussion, I have the following:

--- tomee.xml ---

<Resource id="jdbc/mcmsJta" type="javax.sql.DataSource">
  factory="net.sf.hajdbc.sql.DataSourceFactory"
  cluster="cluster"
  UserName ....
  Password ...
  JtaManaged true
  jmxEnabled true
  LogSql false
</Resource>

--- ha-jdbc-cluster.xml ---

<?xml version="1.0" encoding="UTF-8"?>
<ha-jdbc xmlns="urn:ha-jdbc:cluster:2.1">
    <sync id="full">
       <property name="fetchSize">1000</property>
    </sync>
    <sync id="diff">
       <property name="fetchSize">1000</property>
       <property name="versionPattern">version</property>
    </sync>
    <state id="simple"/>
    <cluster dialect="derby" balancer="simple" default-sync="full"
meta-data-cache="lazy" transaction-mode="parallel">
        <database id="db1" weight="1"
location="org.apache.tomcat.jdbc.pool.DataSource">
            <user>...</user>
            <password>...</password>
            <property name="serverName">mcms</property>
            <property name="databaseName">mcms</property>
            <property
name="driver">org.apache.derby.jdbc.EmbeddedDriver</property>
            <property
name="url">jdbc:derby:c:/javadb/databases/mcms;create=true</property>
            <property name="InitialSize">10</property>
            <property name="MaxActive">100</property>
            <property name="MaxIdle">30</property>
            <property name="MaxWait">10000</property>
            <property name="minIdle">10</property>
            <property name="suspectTimeout">60</property>
            <property name="removeAbandoned">true</property>
            <property name="removeAbandonedTimeout">180</property>
            <property name="timeBetweenEvictionRunsMillis">30000</property>
            <property
name="jdbcInterceptors">StatementCache(max=128)</property>
        </database>
        <database id="db2" weight="2"
location="org.apache.tomcat.jdbc.pool.DataSource">
            <user>...</user>
            <password>...</password>
            <property name="serverName">mcms</property>
            <property name="databaseName">mcms</property>
            <property
name="driver">org.apache.derby.jdbc.EmbeddedDriver</property>
            <property
name="url">jdbc:derby:c:/javadb/databases/mcmsdev;create=true</property>
            <property name="InitialSize">10</property>
            <property name="MaxActive">100</property>
            <property name="MaxIdle">30</property>
            <property name="MaxWait">10000</property>
            <property name="minIdle">10</property>
            <property name="suspectTimeout">60</property>
            <property name="removeAbandoned">true</property>
            <property name="removeAbandonedTimeout">180</property>
            <property name="timeBetweenEvictionRunsMillis">30000</property>
            <property
name="jdbcInterceptors">StatementCache(max=128)</property>
        </database>
    </cluster>
</ha-jdbc>


which results in the following in the log:


INFO: Creating Resource(id=jdbc/mcmsJta)

Nov 02, 2013 9:15:03 AM
org.apache.tomee.jdbc.TomEEDataSourceCreator$TomEEDataSource readOnly
INFO: Disabling testOnBorrow since no validation query is provided

Nov 02, 2013 9:15:03 AM org.apache.openejb.assembler.classic.Assembler
logUnusedProperties
WARNING: Property "factory" not supported by "jdbc/mcmsJta"

Nov 02, 2013 9:15:03 AM org.apache.openejb.assembler.classic.Assembler
logUnusedProperties
WARNING: Property "cluster" not supported by "jdbc/mcmsJta"

Nov 02, 2013 9:15:03 AM org.apache.openejb.assembler.classic.Assembler
createRecipe


now, my app is not connecting to my database, and it is trying to use
default database connection (hsqldb, which is probably the non-jta database
which is configured automatically by tomee, if/when 'no' non-jta database
is configured/specified in tomee.xml via <Resource ... />.

Should I move the <Resource .../> from tomee.xml to (webapp)
META-INF/context.xml as recommended here[2]?


[1] http://ha-jdbc.github.io/
[2] https://sourceforge.net/p/ha-jdbc/discussion/383396/thread/4707f208/

Reply via email to