branch develop-5.x updated (0c706f9 -> f0b461c)
This is an automated email from the git hooks/post-receive script. New change to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from 0c706f9 Use Topia 3.2 and Hibernate 5.1.3 (fixes #8889) new f0b461c Le transfert de 4 nouvelles marées de droite à gauche n'aboutit pas (Fixes #8887) The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit f0b461c6bec65f4390215538f20bac0ecdf48304 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Dec 15 16:38:54 2016 +0100 Le transfert de 4 nouvelles marées de droite à gauche n'aboutit pas (Fixes #8887) Summary of changes: entities/pom.xml | 20 ++++++++--- .../fr/ird/observe/ObserveTopiaConfiguration.java | 15 ++++++--- pom.xml | 20 +++++++++-- .../services/topia/ObserveServiceFactoryTopia.java | 2 -- topia-extension/pom.xml | 8 +++-- .../sql/batch/TopiaSqlBatchServiceImpl.java | 39 +++++++++++----------- .../sql/batch/actions/AbstractSqlAction.java | 2 +- .../sql/batch/actions/ReplicateTablesAction.java | 22 +++++++++--- 8 files changed, 89 insertions(+), 39 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit f0b461c6bec65f4390215538f20bac0ecdf48304 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Dec 15 16:38:54 2016 +0100 Le transfert de 4 nouvelles marées de droite à gauche n'aboutit pas (Fixes #8887) --- entities/pom.xml | 20 ++++++++--- .../fr/ird/observe/ObserveTopiaConfiguration.java | 15 ++++++--- pom.xml | 20 +++++++++-- .../services/topia/ObserveServiceFactoryTopia.java | 2 -- topia-extension/pom.xml | 8 +++-- .../sql/batch/TopiaSqlBatchServiceImpl.java | 39 +++++++++++----------- .../sql/batch/actions/AbstractSqlAction.java | 2 +- .../sql/batch/actions/ReplicateTablesAction.java | 22 +++++++++--- 8 files changed, 89 insertions(+), 39 deletions(-) diff --git a/entities/pom.xml b/entities/pom.xml index 3ada1e5..aa110dd 100644 --- a/entities/pom.xml +++ b/entities/pom.xml @@ -22,7 +22,8 @@ <http://www.gnu.org/licenses/lgpl-3.0.html>. #L% --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> @@ -97,9 +98,17 @@ <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> </dependency> - <dependency> + <!--dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-c3p0</artifactId> + </dependency--> + <dependency> + <groupId>com.zaxxer</groupId> + <artifactId>HikariCP</artifactId> + </dependency> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-hikaricp</artifactId> </dependency> <!-- test --> @@ -178,12 +187,13 @@ <phase>generate-sources</phase> <configuration> <target> - <copy verbose="true" failonerror="true" overwrite="true" filtering="true" todir="${project.build.directory}/xmi"> + <copy verbose="true" failonerror="true" overwrite="true" filtering="true" + todir="${project.build.directory}/xmi"> <filterset> - <filter value="${observe.model.version}" token="observe.model.version" /> + <filter value="${observe.model.version}" token="observe.model.version"/> </filterset> <fileset dir="${basedir}/src/main/xmi"> - <include name="*.ini" /> + <include name="*.ini"/> </fileset> </copy> </target> diff --git a/entities/src/main/java/fr/ird/observe/ObserveTopiaConfiguration.java b/entities/src/main/java/fr/ird/observe/ObserveTopiaConfiguration.java index 7793463..d5a8e41 100644 --- a/entities/src/main/java/fr/ird/observe/ObserveTopiaConfiguration.java +++ b/entities/src/main/java/fr/ird/observe/ObserveTopiaConfiguration.java @@ -22,6 +22,7 @@ package fr.ird.observe; * #L% */ +import org.hibernate.hikaricp.internal.HikariCPConnectionProvider; import org.nuiton.topia.persistence.BeanTopiaConfiguration; import org.nuiton.topia.persistence.HibernateAvailableSettings; import org.nuiton.topia.persistence.jdbc.JdbcConfiguration; @@ -41,10 +42,16 @@ public class ObserveTopiaConfiguration extends BeanTopiaConfiguration { super(jdbcConfiguration); this.h2Configuration = h2Configuration; - hibernateExtraConfiguration.put(HibernateAvailableSettings.CONNECTION_PROVIDER, "org.hibernate.c3p0.internal.C3P0ConnectionProvider"); - hibernateExtraConfiguration.put(HibernateAvailableSettings.C3P0_MAX_SIZE, "500"); - hibernateExtraConfiguration.put(HibernateAvailableSettings.C3P0_MAX_STATEMENTS, "500"); - hibernateExtraConfiguration.put(HibernateAvailableSettings.C3P0_TIMEOUT, "100"); + hibernateExtraConfiguration.put(HibernateAvailableSettings.CONNECTION_PROVIDER, HikariCPConnectionProvider.class.getName()); + hibernateExtraConfiguration.put("hibernate.hikari.minimumIdle", "2"); + hibernateExtraConfiguration.put("hibernate.hikari.maximumPoolSize", "20"); + hibernateExtraConfiguration.put("hibernate.hikari.autoCommit", "false"); + hibernateExtraConfiguration.put("hibernate.hikari.registerMbeans", "true"); + +// hibernateExtraConfiguration.put(HibernateAvailableSettings.CONNECTION_PROVIDER, "org.hibernate.c3p0.internal.C3P0ConnectionProvider"); +// hibernateExtraConfiguration.put(HibernateAvailableSettings.C3P0_MAX_SIZE, "500"); +// hibernateExtraConfiguration.put(HibernateAvailableSettings.C3P0_MAX_STATEMENTS, "500"); +// hibernateExtraConfiguration.put(HibernateAvailableSettings.C3P0_TIMEOUT, "100"); } public boolean isH2Configuration() { diff --git a/pom.xml b/pom.xml index 7b6c994..9dc2fc3 100644 --- a/pom.xml +++ b/pom.xml @@ -514,6 +514,10 @@ <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> </exclusion> + <exclusion> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-c3p0</artifactId> + </exclusion> </exclusions> </dependency> @@ -566,19 +570,31 @@ <version>${hibernateVersion}</version> </dependency> - <dependency> + <!--dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-c3p0</artifactId> <version>${hibernateVersion}</version> <scope>runtime</scope> + </dependency--> + + <dependency> + <groupId>com.zaxxer</groupId> + <artifactId>HikariCP</artifactId> + <version>2.5.1</version> </dependency> <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-hikaricp</artifactId> + <version>${hibernateVersion}</version> + </dependency> + + <!--dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> <scope>runtime</scope> - </dependency> + </dependency--> <!-- Map --> diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveServiceFactoryTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveServiceFactoryTopia.java index d08d1b4..384e452 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveServiceFactoryTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveServiceFactoryTopia.java @@ -256,7 +256,6 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport { ObserveTopiaApplicationContext source = serviceContext.getTopiaApplicationContext(); - long t0 = TimeLog.getTime(); try (ObserveTopiaPersistenceContext topiaPersistenceContext = source.newPersistenceContext()) { @@ -277,7 +276,6 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport { serviceContext.setTopiaPersistenceContext(null); - TIME_LOG.log(t0, "invokeMethodWithTransaction", method.getName()); } diff --git a/topia-extension/pom.xml b/topia-extension/pom.xml index 4fc1263..eff1a43 100644 --- a/topia-extension/pom.xml +++ b/topia-extension/pom.xml @@ -82,11 +82,15 @@ </dependency> <dependency> + <groupId>com.zaxxer</groupId> + <artifactId>HikariCP</artifactId> + </dependency> + + <!--dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> - <version>0.9.5.2</version> <scope>compile</scope> - </dependency> + </dependency--> <!-- test --> <dependency> diff --git a/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/TopiaSqlBatchServiceImpl.java b/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/TopiaSqlBatchServiceImpl.java index 4509764..4bd056b 100644 --- a/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/TopiaSqlBatchServiceImpl.java +++ b/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/TopiaSqlBatchServiceImpl.java @@ -158,32 +158,33 @@ public class TopiaSqlBatchServiceImpl implements TopiaSqlBatchService { AbstractSqlRequest sqlRequest = sqlRequestIterator.next(); - AbstractSqlAction<?> action = createAction(sqlRequest); + try (AbstractSqlAction<?> action = createAction(sqlRequest)) { - action.run(); + action.run(); - Optional<Set<BlobsContainer.Builder>> optionalBlobsContainers = action.getBlobsContainersBuilder(); - if (optionalBlobsContainers.isPresent()) { - Set<BlobsContainer.Builder> blobsContainers = optionalBlobsContainers.get(); + Optional<Set<BlobsContainer.Builder>> optionalBlobsContainers = action.getBlobsContainersBuilder(); + if (optionalBlobsContainers.isPresent()) { + Set<BlobsContainer.Builder> blobsContainers = optionalBlobsContainers.get(); - for (BlobsContainer.Builder blobsContainerBuilder : blobsContainers) { - String tableName = blobsContainerBuilder.getTableName(); - String columnName = blobsContainerBuilder.getColumnName(); + for (BlobsContainer.Builder blobsContainerBuilder : blobsContainers) { + String tableName = blobsContainerBuilder.getTableName(); + String columnName = blobsContainerBuilder.getColumnName(); - String key = tableName + "##" + columnName; - if (blobContainersBuilder.containsKey(key)) { - BlobsContainer.Builder blobsContainerBuilder1 = blobContainersBuilder.get(key); - blobsContainerBuilder1.addAllBlob(blobsContainerBuilder.build().getBlobsById()); - } else { - blobContainersBuilder.put(tableName, blobsContainerBuilder); + String key = tableName + "##" + columnName; + if (blobContainersBuilder.containsKey(key)) { + BlobsContainer.Builder blobsContainerBuilder1 = blobContainersBuilder.get(key); + blobsContainerBuilder1.addAllBlob(blobsContainerBuilder.build().getBlobsById()); + } else { + blobContainersBuilder.put(tableName, blobsContainerBuilder); + } } } - } - //FIXME Review transaction management + //FIXME Review transaction management - hasNext = sqlRequestIterator.hasNext(); - if (!hasNext) { - action.commit(); + hasNext = sqlRequestIterator.hasNext(); + if (!hasNext) { + action.commit(); + } } } diff --git a/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/AbstractSqlAction.java b/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/AbstractSqlAction.java index 353f859..9da20dd 100644 --- a/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/AbstractSqlAction.java +++ b/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/AbstractSqlAction.java @@ -178,7 +178,7 @@ public abstract class AbstractSqlAction<R extends AbstractSqlRequest> implements } } if (error != null) { - throw new RuntimeException("Could not close", error); + throw new TopiaException("Could not close", error); } } diff --git a/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/ReplicateTablesAction.java b/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/ReplicateTablesAction.java index 8871299..8ec3404 100644 --- a/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/ReplicateTablesAction.java +++ b/topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/ReplicateTablesAction.java @@ -22,7 +22,7 @@ package org.nuiton.topia.service.sql.batch.actions; * #L% */ -import com.mchange.v2.c3p0.impl.NewProxyConnection; +import com.zaxxer.hikari.pool.HikariProxyConnection; import org.apache.commons.io.output.ByteArrayOutputStream; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -212,11 +212,25 @@ public class ReplicateTablesAction extends AbstractTablesAction<ReplicateTablesR if (connection instanceof PgConnection) { pgConnection = (PGConnection) connection; - } else if (connection instanceof NewProxyConnection) { + } +// else if (connection instanceof NewProxyConnection) { +// +// NewProxyConnection connection1 = (NewProxyConnection) connection; +// try { +// Field field = connection1.getClass().getDeclaredField("inner"); +// field.setAccessible(true); +// pgConnection = (PGConnection) field.get(connection1); +// } catch (Exception e) { +// throw new RuntimeException(e); +// } +// +// } + else if (connection instanceof HikariProxyConnection) { + + HikariProxyConnection connection1 = (HikariProxyConnection) connection; - NewProxyConnection connection1 = (NewProxyConnection) connection; try { - Field field = connection1.getClass().getDeclaredField("inner"); + Field field = connection1.getClass().getSuperclass().getDeclaredField("delegate"); field.setAccessible(true); pgConnection = (PGConnection) field.get(connection1); } catch (Exception e) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm