From 1c008df3867d267afe585178b3dd55297f8e8361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn?= Date: Wed, 21 Aug 2024 09:13:35 +0200 Subject: [PATCH] test: Print datasource metadata Related to https://github.com/camunda/camunda-bpm-platform/issues/4516 --- .../bpm/engine/impl/cfg/ConfigurationLogger.java | 5 +++++ .../impl/cfg/ProcessEngineConfigurationImpl.java | 14 ++++++++++++++ qa/integration-tests-engine/pom.xml | 3 ++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/engine/src/main/java/org/camunda/bpm/engine/impl/cfg/ConfigurationLogger.java b/engine/src/main/java/org/camunda/bpm/engine/impl/cfg/ConfigurationLogger.java index 0fdd3b86db0..f48afec4380 100644 --- a/engine/src/main/java/org/camunda/bpm/engine/impl/cfg/ConfigurationLogger.java +++ b/engine/src/main/java/org/camunda/bpm/engine/impl/cfg/ConfigurationLogger.java @@ -137,4 +137,9 @@ public NotValidException logErrorNoTTLConfigured() { + "* Set a default historyTimeToLive as a global process engine configuration\n" + "* (Not recommended) Deactivate the enforceTTL config to disable this check")); } + + @Override + protected void logError(String id, String messageTemplate, Object... parameters) { + super.logError(id, messageTemplate, parameters); + } } diff --git a/engine/src/main/java/org/camunda/bpm/engine/impl/cfg/ProcessEngineConfigurationImpl.java b/engine/src/main/java/org/camunda/bpm/engine/impl/cfg/ProcessEngineConfigurationImpl.java index 14cbb3deca3..54bb770cbdb 100644 --- a/engine/src/main/java/org/camunda/bpm/engine/impl/cfg/ProcessEngineConfigurationImpl.java +++ b/engine/src/main/java/org/camunda/bpm/engine/impl/cfg/ProcessEngineConfigurationImpl.java @@ -23,6 +23,8 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; +import java.lang.reflect.Field; +import java.lang.reflect.Method; import java.nio.charset.Charset; import java.sql.Connection; import java.sql.DatabaseMetaData; @@ -31,6 +33,7 @@ import java.sql.SQLException; import java.text.ParseException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Calendar; import java.util.Collection; import java.util.Collections; @@ -42,6 +45,7 @@ import java.util.Properties; import java.util.Set; import java.util.concurrent.CopyOnWriteArraySet; +import java.util.stream.Collectors; import javax.naming.InitialContext; import javax.script.ScriptEngineManager; import javax.sql.DataSource; @@ -1707,6 +1711,8 @@ protected void initDataSource() { // ACT-233: connection pool of Ibatis is not properely initialized if this is not called! ((PooledDataSource) dataSource).forceCloseAll(); } + + logDataSourceMetadata(); } if (databaseType == null) { @@ -1714,6 +1720,14 @@ protected void initDataSource() { } } + private void logDataSourceMetadata() { + Class clazz = dataSource.getClass(); + String canonicalName = clazz.getCanonicalName(); + List declaredFields = Arrays.stream(clazz.getDeclaredFields()).map(Field::toString).collect(Collectors.toList()); + List declaredMethods = Arrays.stream(clazz.getDeclaredMethods()).map(Method::toString).collect(Collectors.toList()); + LOG.logError("999", "Datasource metadata: " + "\n\nClass name: {}" + "\n\nDeclared fields: {}" + "\n\nDeclared methods: {}", canonicalName, declaredFields, declaredMethods); + } + protected static Properties databaseTypeMappings = getDefaultDatabaseTypeMappings(); protected static final String MY_SQL_PRODUCT_NAME = "MySQL"; protected static final String MARIA_DB_PRODUCT_NAME = "MariaDB"; diff --git a/qa/integration-tests-engine/pom.xml b/qa/integration-tests-engine/pom.xml index a09c6a1adbe..0089b94543f 100644 --- a/qa/integration-tests-engine/pom.xml +++ b/qa/integration-tests-engine/pom.xml @@ -15,7 +15,8 @@ org.wildfly.arquillian 2.2.0.Final - true + + false