как заставить работать источник данных ha-jdbc - PullRequest
2 голосов
/ 08 февраля 2011

У меня есть ha-jdbc xml, где у меня есть эта конфигурация:

<ha-jdbc>
    <sync id="diff" class="net.sf.hajdbc.sync.DifferentialSynchronizationStrategy">
      <property name="fetchSize">1000</property>
      <property name="maxBatchSize">100</property>
    </sync>
    <sync id="full" class="net.sf.hajdbc.sync.FullSynchronizationStrategy">
      <property name="fetchSize">1000</property>
      <property name="maxBatchSize">100</property>
    </sync>
  <cluster balancer="load" 
       dialect="net.sf.hajdbc.dialect.MySQLDialect" 
       default-sync="full" 
       transaction-mode="parallel" 
       auto-activate-schedule="0 * * ? * *" 
       failure-detect-schedule="0 * * ? * *"
       meta-data-cache="none">
         <database id="database1">
               <driver>****</driver>
               <url>****</url>
               <user>****</user>
               <password>****</password>
         </database>
         <database id="database2">
               <driver>****</driver>
               <url>****</url>
               <user>****</user>
               <password>****</password>
         </database>
    </cluster>
  </ha-jdbc>

Я обращаюсь к ha-jdbc, используя конфигурацию jpa:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
                             http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
         version="1.0">
<persistence-unit name="app_data" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <properties>
        <property name="hibernate.connection.driver_class" value="net.sf.hajdbc.sql.Driver" />
        <!--property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/-->
        <property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider" />
        <property name="hibernate.connection.url" value="jdbc:ha-jdbc:cluster1" />
        <property name="hibernate.connection.username" value="****" />
        <property name="hibernate.connection.password" value="****" />
        <property name="hibernate.show_sql" value="true" />
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
        <!--property name="hibernate.hbm2ddl.auto" value="update" /-->

        <property name="hibernate.c3p0.min_size" value="5" />
        <property name="hibernate.c3p0.max_size" value="20" />
        <property name="hibernate.c3p0.timeout" value="1800" />
        <property name="hibernate.c3p0.max_statements" value="50" />
        <property name="hibernate.c3p0.idle_test_period" value="3000" />
    </properties>
</persistence-unit>

когда я запускаю maven, я получаю следующую ошибку:

org.jibx.runtime.JiBXException: Ожидаемый конечный тег кластера, найден начальный тег источника данных (строка 19, столбец 11)

Может кто-нибудь объяснить, что может быть решением?

...