From 62835449bb965e243c00e0ebe4f9e151ddedc849 Mon Sep 17 00:00:00 2001 From: Martin Rojas Miguel Angel Date: Thu, 7 Feb 2019 12:38:14 +0100 Subject: [PATCH] TSK-779 Configure Wildfly for running JBoss with postgres DB --- ci/prepare_db.bat | 2 +- ci/test.sh | 5 +- .../sampledata/SampleDataGenerator.java | 3 + .../resources/sql/sample-data/clear-db.sql | 1 - .../sql/sample-data/clear-history-events.sql | 2 + .../pom.xml | 87 ++++++++++++++++--- .../resources/application-postgres.properties | 34 ++++++++ .../src/main/resources/application.properties | 11 +-- 8 files changed, 122 insertions(+), 23 deletions(-) create mode 100644 rest/taskana-rest-spring-setup/src/main/resources/sql/sample-data/clear-history-events.sql create mode 100644 rest/taskana-rest-spring-wildfly-example/src/main/resources/application-postgres.properties diff --git a/ci/prepare_db.bat b/ci/prepare_db.bat index be0478bdd..43c6f977a 100644 --- a/ci/prepare_db.bat +++ b/ci/prepare_db.bat @@ -117,7 +117,7 @@ SET PROP_FILE=%HOMEPATH%\taskanaUnitTest.properties ) ECHO jdbcDriver=org.postgresql.Driver > %PROP_FILE% - ECHO jdbcUrl=jdbc:postgresql://localhost:50001/postgres >> %PROP_FILE% + ECHO jdbcUrl=jdbc:postgresql://localhost:50102/postgres >> %PROP_FILE% ECHO dbUserName=postgres >> %PROP_FILE% ECHO dbPassword=postgres >> %PROP_FILE% ECHO schemaName=taskana >> %PROP_FILE% diff --git a/ci/test.sh b/ci/test.sh index 42480d21a..bf08f647a 100755 --- a/ci/test.sh +++ b/ci/test.sh @@ -30,7 +30,10 @@ function main { (cd $REL/../web && npm run test) mvn clean verify -q -f $REL/../lib/ -B mvn clean install -q -f $REL/../rest/ -B - mvn clean verify -q -f $REL/../rest/ -B -pl taskana-rest-spring-example -P history.plugin + mvn clean verify -q -f $REL/../rest/ -B -pl taskana-rest-spring-example -P history.plugin + elif [[ "$1" == "POSTGRES_10_4" ]]; then + mvn clean verify -q -f $REL/../lib/taskana-core -B + mvn clean install -q -f $REL/../rest/ -B -P postgres else mvn clean verify -q -f $REL/../lib/taskana-core -B fi diff --git a/rest/taskana-rest-spring-setup/src/main/java/pro/taskana/sampledata/SampleDataGenerator.java b/rest/taskana-rest-spring-setup/src/main/java/pro/taskana/sampledata/SampleDataGenerator.java index 1c185a0d1..118cfe8d8 100644 --- a/rest/taskana-rest-spring-setup/src/main/java/pro/taskana/sampledata/SampleDataGenerator.java +++ b/rest/taskana-rest-spring-setup/src/main/java/pro/taskana/sampledata/SampleDataGenerator.java @@ -35,6 +35,7 @@ public class SampleDataGenerator { private static final String SQL = "/sql"; private static final String TEST_DATA = "/sample-data"; private static final String CLEAR = SQL + TEST_DATA + "/clear-db.sql"; + private static final String CLEAR_HISTORY_EVENTS = SQL + TEST_DATA + "/clear-history-events.sql"; private static final String TASK = SQL + TEST_DATA + "/task.sql"; private static final String WORKBASKET = SQL + TEST_DATA + "/workbasket.sql"; private static final String DISTRIBUTION_TARGETS = SQL + TEST_DATA + "/distribution-targets.sql"; @@ -73,6 +74,8 @@ public class SampleDataGenerator { runner.setStopOnError(false); runner.runScript(new BufferedReader( new InputStreamReader(this.getClass().getResourceAsStream(CLEAR), StandardCharsets.UTF_8))); + runner.runScript(new BufferedReader( + new InputStreamReader(this.getClass().getResourceAsStream(CLEAR_HISTORY_EVENTS), StandardCharsets.UTF_8))); } catch (Exception e) { LOGGER.error("caught Exception {}", e); } diff --git a/rest/taskana-rest-spring-setup/src/main/resources/sql/sample-data/clear-db.sql b/rest/taskana-rest-spring-setup/src/main/resources/sql/sample-data/clear-db.sql index 1a565e7fc..beab7c25a 100644 --- a/rest/taskana-rest-spring-setup/src/main/resources/sql/sample-data/clear-db.sql +++ b/rest/taskana-rest-spring-setup/src/main/resources/sql/sample-data/clear-db.sql @@ -6,7 +6,6 @@ DELETE FROM WORKBASKET; DELETE FROM DISTRIBUTION_TARGETS; DELETE FROM CLASSIFICATION; DELETE FROM OBJECT_REFERENCE; -DELETE FROM HISTORY_EVENTS; -- do not clean JOB table -- DELETE FROM SCHEDULED_JOB; COMMIT; diff --git a/rest/taskana-rest-spring-setup/src/main/resources/sql/sample-data/clear-history-events.sql b/rest/taskana-rest-spring-setup/src/main/resources/sql/sample-data/clear-history-events.sql new file mode 100644 index 000000000..cfc89bc5a --- /dev/null +++ b/rest/taskana-rest-spring-setup/src/main/resources/sql/sample-data/clear-history-events.sql @@ -0,0 +1,2 @@ +DELETE FROM HISTORY_EVENTS; +COMMIT; diff --git a/rest/taskana-rest-spring-wildfly-example/pom.xml b/rest/taskana-rest-spring-wildfly-example/pom.xml index 108ea1cc6..d2fec2a77 100644 --- a/rest/taskana-rest-spring-wildfly-example/pom.xml +++ b/rest/taskana-rest-spring-wildfly-example/pom.xml @@ -13,6 +13,14 @@ 4.0.0 taskana-rest-spring-wildfly-example war + + + jdbc:h2:mem:taskana;IGNORECASE=TRUE;LOCK_MODE=0 + org.h2.Driver + h2 + sa + sa + org.springframework.boot @@ -45,8 +53,59 @@ 3.1.0 provided + + + org.postgresql + postgresql + 42.2.5 + + + + postgres + + false + + + + + org.codehaus.mojo + properties-maven-plugin + 1.0-alpha-2 + + + initialize + + read-project-properties + + + + ${jdbcDriver} + ${jdbcUrl} + postgresqldriver + ${dbUserName} + ${dbPassword} + postgres + + + ${user.home}/taskanaUnitTest.properties + + + + + + + + + + + + + src/main/resources + true + + org.springframework.boot @@ -67,19 +126,19 @@ start - - + deploy-driver install - postgresql + org.postgresql postgresql - postgresql.jar + postgresqldriver deploy-artifact - --> + add-datasource @@ -91,11 +150,11 @@ java:/TaskanaDS true - jdbc:h2:mem:taskana;IGNORECASE=TRUE;LOCK_MODE=0 - org.h2.Driver - h2 - sa - sa + ${connection-url} + ${driver-class} + ${driver-name} + ${user-name} + ${password} @@ -112,6 +171,14 @@ deploy + + + wildfly-undeploy + install + + undeploy + + wildfly-shutdown diff --git a/rest/taskana-rest-spring-wildfly-example/src/main/resources/application-postgres.properties b/rest/taskana-rest-spring-wildfly-example/src/main/resources/application-postgres.properties new file mode 100644 index 000000000..22aff9462 --- /dev/null +++ b/rest/taskana-rest-spring-wildfly-example/src/main/resources/application-postgres.properties @@ -0,0 +1,34 @@ +logging.level.pro.taskana=INFO +### logging.level.org.springframework=DEBUG +######## Taskana DB ####### +datasource.jndi=java:/TaskanaDS +taskana.schemaName=taskana + +####### control LDAP usage +taskana.ldap.useLdap=false +####### properties to connect to LDAP +taskana.ldap.serverUrl=ldap://localhost:10389 +taskana.ldap.bindDn=uid=admin,ou=system +taskana.ldap.bindPassword=secret +taskana.ldap.baseDn=o=TaskanaTest +####### properties that control search for users and groups +taskana.ldap.userSearchBase=ou=people +taskana.ldap.userSearchFilterName=objectclass +taskana.ldap.userSearchFilterValue=person +taskana.ldap.userFirstnameAttribute=givenName +taskana.ldap.userLastnameAttribute=sn +taskana.ldap.userIdAttribute=uid +taskana.ldap.groupSearchBase=ou=groups +taskana.ldap.groupSearchFilterName=objectclass +taskana.ldap.groupSearchFilterValue=groupOfUniqueNames +taskana.ldap.groupNameAttribute=cn +taskana.ldap.minSearchForLength=3 +taskana.ldap.maxNumberOfReturnedAccessIds=50 +taskana.ldap.groupsOfUser=memberUid +####### JobScheduler cron expression that specifies when the JobSchedler runs +taskana.jobscheduler.async.cron=0 * * * * * +####### cache static resources properties +spring.resources.cache.cachecontrol.cache-private=true +####### tomcat is not detecting the x-forward headers from bluemix as a trustworthy proxy +server.tomcat.internal-proxies=.* +server.use-forward-headers=true diff --git a/rest/taskana-rest-spring-wildfly-example/src/main/resources/application.properties b/rest/taskana-rest-spring-wildfly-example/src/main/resources/application.properties index a64d37d0c..d94456b56 100644 --- a/rest/taskana-rest-spring-wildfly-example/src/main/resources/application.properties +++ b/rest/taskana-rest-spring-wildfly-example/src/main/resources/application.properties @@ -1,18 +1,9 @@ +spring.profiles.active=@activatedProperties@ logging.level.pro.taskana=INFO ### logging.level.org.springframework=DEBUG ######## Taskana DB ####### -######## h2 configuration ######## datasource.jndi=java:/TaskanaDS taskana.schemaName=TASKANA -######## h2 console configuration ######## -######## spring.h2.console.enabled=true ######## -######## spring.h2.console.path=/h2-console ######## - -######## Postgres configuration ######## -######## datasource.url=jdbc:postgresql://localhost/taskana ######## -######## datasource.driverClassName=org.postgresql.Driver ######## -######## datasource.username=postgres ######## -######## datasource.password=1234 ######## ####### control LDAP usage taskana.ldap.useLdap=false