无法发送查询:中断管道嵌套异常为java.sql.BatchUpdateException

无法发送查询:中断管道嵌套异常为java.sql.BatchUpdateException,sql,spring,jboss,mariadb,spring-batch,Sql,Spring,Jboss,Mariadb,Spring Batch,我使用JdbcBatchItemWriter在spring批处理中运行插入查询,我的查询如下: <bean id="dumpFileItemWriter" class="org.springframework.batch.item.database.JdbcBatchItemWriter"> <property name="dataSource" ref="dataSource" /

我使用JdbcBatchItemWriter在spring批处理中运行插入查询,我的查询如下:

<bean id="dumpFileItemWriter" class="org.springframework.batch.item.database.JdbcBatchItemWriter">
        <property name="dataSource" ref="dataSource" />
        <property name="sql">
            <value>
            <![CDATA[
    INSERT INTO feed (a, b, c, d .....  e)
                         VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,1,?,?,?)
                         ON DUPLICATE KEY UPDATE
                          a = IF(last_change_tim < ?, ?, a),
                          b = IF(last_change_tim < ?, ?, b),
                          c = IF(last_change_tim < ?, ?, c),
                          d = IF(last_change_tim < ?, ?, d),
                           .
                           .
                           .
                           .
                           .
                           .
                          e = IF(last_change_tim < ?, ?, e),




<datasource jta="true" jndi-name="java:/datasources/mariaDB" pool-name="mariaDB" enabled="true" use-ccm="true" statistics-enabled="true">
<connection-url>jdbc:mariadb:databse</connection-url>
<driver-class>org.mariadb.jdbc.Driver</driver-class>
<connection-property name="cachePrepStmts">
false
</connection-property>
<driver>maria</driver>
<pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>100</max-pool-size>
</pool>
<security>
<user-name>user</user-name>
<●●●●●●●●●●●●●●●●●●●●</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<validate-on-match>true</validate-on-match>
<background-validation>false</background-validation>
<stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
</validation>
<timeout>
<set-tx-query-timeout>true</set-tx-query-timeout>
<blocking-timeout-millis>0</blocking-timeout-millis>
<idle-timeout-minutes>10</idle-timeout-minutes>
<query-timeout>300</query-timeout>
<use-try-lock>0</use-try-lock>
<allocation-retry>3</allocation-retry>
<allocation-retry-wait-millis>300</allocation-retry-wait-millis>
</timeout>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>

jdbc:mariadb:database
org.mariadb.jdbc.Driver
假的
玛丽亚
1.
100
用户

有一些缓冲区可以使用。请张贴您的数据库服务器-config@BerndBuffen我已经编辑并重新发布了.sorry-我指的是/etc/mysql/my.cnf下的服务器配置文件,或者发布SHOW GLOBAL VARIABLES的输出@我正在使用mariadb作为数据库。共享jboss服务器中独立文件中的数据源请参见:。我几乎可以肯定净缓冲区的长度太小了