0

I try to use apache-camel in High-Loaded project, where every second waiting more user's connections. In single-mode everything is OK, but when user's requests more then 10,I have some errors,for example "javax.persistence.PersistenceException: org.hibernate.HibernateException: Flush during cascade is dangerous" or "Could not synchronize database state with session org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update" and etc.

My route looks like :

from("some url")
.to("jpa:myEntity")
.process("here I read saved entity,and create new entity")
.to("jpa:mySeconEntity")

My persistance.xml:

<persistence-unit name="myUnit" transaction-type="RESOURCE_LOCAL">
</persistence-unit>

My spring-config:

 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="driver.for.db"/>
    <property name="url" value="url.to.db"/>
    <property name="username" value="username"/>
    <property name="password" value="pass"/>
</bean>

<bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
    <property name="transactionManager" ref="transactionManager"/>
</bean>

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="paymentGateway" />
    <property name="jpaProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
            <prop key="hibernate.jdbc.batch_size">20</prop>
        </props>
    </property>
    <property name="dataSource" ref="dataSource"/>
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>
    </property>
</bean>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="dataSource" ref="dataSource"/>
</bean>

Version of camel - 2.12.0. Your suggestions? My problem contains in configuration of transactions or in jpa consumer's params, when I save entities to database?

ZaptoS
  • 141
  • 1
  • 1
  • 9

0 Answers0