From b3f9a53a52b05f0c8e574ef66dabf3c22b67c585 Mon Sep 17 00:00:00 2001 From: holgerhagen Date: Mon, 14 Mar 2022 15:38:29 +0100 Subject: [PATCH] TSK-1826: Update to Wildfly 15.0.1 --- .../sampledata/SampleDataGenerator.java | 8 +- pom.xml | 2 +- rest/pom.xml | 1 + .../pom.xml | 4 +- .../wildfly/TaskanaWildflyConfiguration.java | 3 + .../example/wildfly/AbstractAccTest.java | 2 +- .../test/resources/application-h2.properties | 51 ++ .../resources/application-postgres.properties | 3 - .../src/test/resources/application.properties | 15 +- .../src/test/resources/arquillian.xml | 19 +- .../test/resources/int-test-standalone.xml | 726 +++++++++--------- .../src/test/resources/int-test-web.xml | 8 +- .../src/test/resources/module.xml | 10 +- 13 files changed, 453 insertions(+), 399 deletions(-) create mode 100644 rest/taskana-rest-spring-example-wildfly/src/test/resources/application-h2.properties diff --git a/common/taskana-common-data/src/main/java/pro/taskana/sampledata/SampleDataGenerator.java b/common/taskana-common-data/src/main/java/pro/taskana/sampledata/SampleDataGenerator.java index 591f213bd..05eb45043 100644 --- a/common/taskana-common-data/src/main/java/pro/taskana/sampledata/SampleDataGenerator.java +++ b/common/taskana-common-data/src/main/java/pro/taskana/sampledata/SampleDataGenerator.java @@ -90,8 +90,12 @@ public class SampleDataGenerator { private void runScripts(Consumer consumer) { try (Connection connection = dataSource.getConnection()) { - if (LOGGER.isTraceEnabled()) { - LOGGER.trace(connection.getMetaData().toString()); + if (LOGGER.isDebugEnabled()) { + LOGGER.debug( + "Generating sample data for database of type '{}' with url '{}' and schema '{}'.", + connection.getMetaData().getDatabaseProductName(), + connection.getMetaData().getURL(), + schema); } StringWriter outWriter = new StringWriter(); diff --git a/pom.xml b/pom.xml index b274f89ce..e700c6824 100644 --- a/pom.xml +++ b/pom.xml @@ -69,7 +69,7 @@ 2.0.7 - 13.0.0.Final + 15.0.1.Final 7.16.0 diff --git a/rest/pom.xml b/rest/pom.xml index 585aea43b..4774c0dcc 100644 --- a/rest/pom.xml +++ b/rest/pom.xml @@ -21,6 +21,7 @@ ../web taskana-rest-spring-example-common taskana-rest-spring-example-boot + taskana-rest-spring-example-wildfly diff --git a/rest/taskana-rest-spring-example-wildfly/pom.xml b/rest/taskana-rest-spring-example-wildfly/pom.xml index cd6542734..b0837c979 100644 --- a/rest/taskana-rest-spring-example-wildfly/pom.xml +++ b/rest/taskana-rest-spring-example-wildfly/pom.xml @@ -23,7 +23,7 @@ org.wildfly.bom - wildfly-javaee7 + wildfly-javaee8 ${version.wildfly} import pom @@ -136,7 +136,7 @@ spring-boot-test test - + diff --git a/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/TaskanaWildflyConfiguration.java b/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/TaskanaWildflyConfiguration.java index e03b3a5fc..74eedc24e 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/TaskanaWildflyConfiguration.java +++ b/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/example/wildfly/TaskanaWildflyConfiguration.java @@ -64,6 +64,9 @@ public class TaskanaWildflyConfiguration { Properties properties = new Properties(); ctx = new InitialContext(); properties.load(propertyStream); + LOGGER.debug( + "TASKANA is using datasource '{}' from application.properties.", + properties.getProperty("datasource.jndi")); dataSource = (DataSource) ctx.lookup(properties.getProperty("datasource.jndi")); return dataSource; } catch (Exception e) { diff --git a/rest/taskana-rest-spring-example-wildfly/src/test/java/pro/taskana/example/wildfly/AbstractAccTest.java b/rest/taskana-rest-spring-example-wildfly/src/test/java/pro/taskana/example/wildfly/AbstractAccTest.java index 8c7e8f85f..af0041409 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/test/java/pro/taskana/example/wildfly/AbstractAccTest.java +++ b/rest/taskana-rest-spring-example-wildfly/src/test/java/pro/taskana/example/wildfly/AbstractAccTest.java @@ -67,7 +67,7 @@ public class AbstractAccTest { protected String parseServerLog() throws Exception { // TO-DO: make log4j log into rollingFile from log4j.xml - File file = new File("target/wildfly-13.0.0.Final/standalone/log/server.log"); + File file = new File("target/wildfly-15.0.1.Final/standalone/log/server.log"); BufferedReader br = new BufferedReader(new FileReader(file)); diff --git a/rest/taskana-rest-spring-example-wildfly/src/test/resources/application-h2.properties b/rest/taskana-rest-spring-example-wildfly/src/test/resources/application-h2.properties new file mode 100644 index 000000000..b3593a5cd --- /dev/null +++ b/rest/taskana-rest-spring-example-wildfly/src/test/resources/application-h2.properties @@ -0,0 +1,51 @@ +######## Taskana DB ####### +datasource.jndi=java:/TaskanaDS/H2 +taskana.schemaName=TASKANA +devMode=true + +####### properties to connect to LDAP +taskana.ldap.serverUrl=ldap://localhost:10389 +taskana.ldap.bindDn=uid=admin +taskana.ldap.bindPassword=secret +taskana.ldap.baseDn=ou=Test,O=TASKANA +taskana.ldap.userSearchBase=cn=users +taskana.ldap.userSearchFilterName=objectclass +taskana.ldap.userSearchFilterValue=person +taskana.ldap.userFirstnameAttribute=givenName +taskana.ldap.userLastnameAttribute=sn +taskana.ldap.userFullnameAttribute=cn +taskana.ldap.userPhoneAttribute=phoneNumber +taskana.ldap.userMobilePhoneAttribute=mobileNumber +taskana.ldap.userEmailAttribute=email +taskana.ldap.userOrglevel1Attribute=orgLevel1 +taskana.ldap.userOrglevel2Attribute=orgLevel2 +taskana.ldap.userOrglevel3Attribute=someDepartement +taskana.ldap.userOrglevel4Attribute=orgLevel4 +taskana.ldap.userIdAttribute=uid +taskana.ldap.userMemberOfGroupAttribute=memberOf +taskana.ldap.groupSearchBase= +taskana.ldap.groupSearchFilterName=objectclass +taskana.ldap.groupSearchFilterValue=groupOfUniqueNames +taskana.ldap.groupNameAttribute=cn +taskana.ldap.minSearchForLength=3 +taskana.ldap.maxNumberOfReturnedAccessIds=50 +taskana.ldap.groupsOfUser=uniquemember + +####### JobScheduler cron expression that specifies when the JobSchedler runs +taskana.jobscheduler.async.cron=0 * * * * * + +####### cache static resources propertiesgit add -- +spring.resources.cache.cachecontrol.cache-private=true +spring.main.allow-bean-definition-overriding=true + +####### tomcat is not detecting the x-forward headers from bluemix as a trustworthy proxy +server.tomcat.remoteip.internal-proxies=.* +server.forward-headers-strategy=native + +# Embedded Spring LDAP server +spring.ldap.embedded.base-dn=OU=Test,O=TASKANA +spring.ldap.embedded.credential.username=uid=admin +spring.ldap.embedded.credential.password=secret +spring.ldap.embedded.ldif=classpath:taskana-test.ldif +spring.ldap.embedded.port=10389 +spring.ldap.embedded.validation.enabled=false diff --git a/rest/taskana-rest-spring-example-wildfly/src/test/resources/application-postgres.properties b/rest/taskana-rest-spring-example-wildfly/src/test/resources/application-postgres.properties index b5df91b94..65324b4f1 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/test/resources/application-postgres.properties +++ b/rest/taskana-rest-spring-example-wildfly/src/test/resources/application-postgres.properties @@ -1,6 +1,3 @@ -logging.level.pro.taskana=DEBUG -logging.level.org.springframework=DEBUG - ######## Taskana DB ####### datasource.jndi=java:/TaskanaDS/PostgreSQL taskana.schemaName=taskana diff --git a/rest/taskana-rest-spring-example-wildfly/src/test/resources/application.properties b/rest/taskana-rest-spring-example-wildfly/src/test/resources/application.properties index b6586408b..8a8434e58 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/test/resources/application.properties +++ b/rest/taskana-rest-spring-example-wildfly/src/test/resources/application.properties @@ -1,9 +1,6 @@ -logging.level.pro.taskana=DEBUG -logging.level.org.springframework=DEBUG - ######## Taskana DB ####### -datasource.jndi=java:/TaskanaDS/H2 -taskana.schemaName=TASKANA +datasource.jndi=java:/TaskanaDS/PostgreSQL +taskana.schemaName=taskana devMode=true @@ -47,9 +44,9 @@ server.tomcat.remoteip.internal-proxies=.* server.forward-headers-strategy=native # Embedded Spring LDAP server -spring.ldap.embedded.base-dn= OU=Test,O=TASKANA -spring.ldap.embedded.credential.username= uid=admin -spring.ldap.embedded.credential.password= secret +spring.ldap.embedded.base-dn=OU=Test,O=TASKANA +spring.ldap.embedded.credential.username=uid=admin +spring.ldap.embedded.credential.password=secret spring.ldap.embedded.ldif=classpath:taskana-test.ldif -spring.ldap.embedded.port= 10389 +spring.ldap.embedded.port=10389 spring.ldap.embedded.validation.enabled=false diff --git a/rest/taskana-rest-spring-example-wildfly/src/test/resources/arquillian.xml b/rest/taskana-rest-spring-example-wildfly/src/test/resources/arquillian.xml index 5ce724d17..acaa28676 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/test/resources/arquillian.xml +++ b/rest/taskana-rest-spring-example-wildfly/src/test/resources/arquillian.xml @@ -1,16 +1,17 @@ - + - target/wildfly-13.0.0.Final - ../../../../src/test/resources/int-test-standalone.xml - - -Djava.util.logging.manager=org.jboss.logmanager.LogManager + target/wildfly-15.0.1.Final + ../../../../src/test/resources/int-test-standalone.xml + + -Djava.util.logging.manager=org.jboss.logmanager.LogManager \ No newline at end of file diff --git a/rest/taskana-rest-spring-example-wildfly/src/test/resources/int-test-standalone.xml b/rest/taskana-rest-spring-example-wildfly/src/test/resources/int-test-standalone.xml index d2c4d7c24..1b5a3bd97 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/test/resources/int-test-standalone.xml +++ b/rest/taskana-rest-spring-example-wildfly/src/test/resources/int-test-standalone.xml @@ -2,106 +2,106 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + module="org.wildfly.extension.bean-validation"/> - - + module="org.wildfly.extension.core-management"/> + + + module="org.wildfly.extension.request-controller"/> - + module="org.wildfly.extension.security.manager"/> + - + relative-to="jboss.server.config.dir"/> + + relative-to="jboss.server.config.dir"/> + relative-to="jboss.server.config.dir" + keystore-password="password" alias="server" + key-password="password" + generate-self-signed-certificate-host="localhost"/> - + path="application-users.properties" + relative-to="jboss.server.config.dir"/> + + path="application-roles.properties" + relative-to="jboss.server.config.dir"/> - + + formatter="json-formatter" path="audit-log.log" + relative-to="jboss.server.data.dir"/> + enabled="false"> - + + http-authentication-factory="management-http-authentication"> - + sasl-authentication-factory="management-sasl-authentication"/> + - + @@ -110,122 +110,122 @@ - + + name="COLOR-PATTERN"/> + name="FILE" autoflush="true"> - + - - + path="server.log"/> + + - + - + - + - + use-parent-handlers="true"> + - + use-parent-handlers="true"> + - + use-parent-handlers="true"> + - + use-parent-handlers="true"> + - + use-parent-handlers="true"> + - + use-parent-handlers="true"> + - + use-parent-handlers="true"> + - + use-parent-handlers="true"> + - + category="org.jboss.as.domain.management.security" + use-parent-handlers="true"> + - + use-parent-handlers="true"> + - + use-parent-handlers="true"> + - + use-parent-handlers="true"> + - + use-parent-handlers="true"> + - + - - + + + pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/> + pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/> - + name="in-memory"/> + - + - - + + + xmlns="urn:jboss:domain:bean-validation:1.0"/> + xmlns="urn:jboss:domain:core-management:1.0"/> + jndi-name="java:jboss/datasources/ExampleDS" + pool-name="ExampleDS" enabled="true" + use-java-context="true"> jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE h2 @@ -235,9 +235,9 @@ + jndi-name="java:/TaskanaDS/H2" + pool-name="TASKANA Datasource" enabled="true" + use-ccm="false"> jdbc:h2:mem:test;DB_CLOSE_DELAY=-1 org.h2.Driver @@ -252,9 +252,9 @@ + jndi-name="java:/TaskanaDS/PostgreSQL" + pool-name="TASKANA PostgreSQL Datasource" + enabled="true" use-ccm="false"> jdbc:postgresql://localhost:5102/postgres org.postgresql.Driver @@ -274,7 +274,7 @@ + module="org.postgresql"> org.postgresql.Driver @@ -282,10 +282,10 @@ + xmlns="urn:jboss:domain:deployment-scanner:2.0"> + relative-to="jboss.server.base.dir" scan-interval="5000" + runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/> false @@ -293,557 +293,557 @@ + jndi-name="java:jboss/ee/concurrency/context/default" + use-transaction-setup-provider="true"/> + name="default" + jndi-name="java:jboss/ee/concurrency/factory/default" + context-service="default"/> + name="default" + jndi-name="java:jboss/ee/concurrency/executor/default" + context-service="default" + hung-task-threshold="60000" + keepalive-time="5000"/> + name="default" + jndi-name="java:jboss/ee/concurrency/scheduler/default" + context-service="default" + hung-task-threshold="60000" + keepalive-time="3000"/> + context-service="java:jboss/ee/concurrency/context/default" + datasource="java:jboss/datasources/ExampleDS" + managed-executor-service="java:jboss/ee/concurrency/executor/default" + managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" + managed-thread-factory="java:jboss/ee/concurrency/factory/default"/> + pool-name="slsb-strict-max-pool"/> - + cache-ref="simple" + passivation-disabled-cache-ref="simple"/> + + name="slsb-strict-max-pool" + derive-size="from-worker-pools" + instance-acquisition-timeout="5" + instance-acquisition-timeout-unit="MINUTES"/> + name="mdb-strict-max-pool" + derive-size="from-cpu-count" + instance-acquisition-timeout="5" + instance-acquisition-timeout-unit="MINUTES"/> - + + passivation-store-ref="infinispan" + aliases="passivating clustered"/> + cache-container="ejb" max-size="10000"/> - + + default-data-store="default-file-store"> + name="default-file-store" + path="timer-service-data" + relative-to="jboss.server.data.dir"/> + thread-pool-name="default"> - + + unit="milliseconds"/> + value="other"/> - + value="true"/> + + final-providers="combined-providers" + disallowed-providers="OracleUcrypto"> - - + name="combined-providers"> + + + module="org.wildfly.security.elytron"/> + module="org.wildfly.openssl"/> + path="audit.log" relative-to="jboss.server.log.dir" + format="JSON"/> + name="ApplicationDomain" + default-realm="ApplicationRealm" + permission-mapper="default-permission-mapper"> - + role-decoder="groups-to-roles"/> + + default-realm="ManagementRealm" + permission-mapper="default-permission-mapper"> + role-decoder="groups-to-roles"/> + role-mapper="super-user-mapper"/> + default-realm="taskanaLR" + permission-mapper="default-permission-mapper"> + role-decoder="from-roles-attribute"/> + identity="$local"/> + name="ApplicationRealm"> + path="application-users.properties" + relative-to="jboss.server.config.dir" + digest-realm-name="ApplicationRealm"/> + path="application-roles.properties" + relative-to="jboss.server.config.dir"/> + name="ManagementRealm"> + path="mgmt-users.properties" + relative-to="jboss.server.config.dir" + digest-realm-name="ManagementRealm"/> + path="mgmt-groups.properties" + relative-to="jboss.server.config.dir"/> + dir-context="taskanaDC"> + rdn-identifier="uid" + use-recursive-search="false" + search-base-dn="cn=users,ou=Test,O=TASKANA"> + filter="(&(objectClass=groupofuniquenames)(uniquemember={1}))" + filter-base-dn="ou=Test,O=TASKANA"/> + from="userPassword"/> + name="default-permission-mapper" + mapping-mode="first"> - + + class-name="org.wildfly.extension.batch.jberet.deployment.BatchPermission" + module="org.wildfly.extension.batch.jberet" + target-name="*"/> + class-name="org.wildfly.transaction.client.RemoteTransactionPermission" + module="org.wildfly.transaction.client"/> + class-name="org.jboss.ejb.client.RemoteEJBPermission" + module="org.jboss.ejb-client"/> + match-all="true"> + class-name="org.wildfly.security.auth.permission.LoginPermission"/> + class-name="org.wildfly.extension.batch.jberet.deployment.BatchPermission" + module="org.wildfly.extension.batch.jberet" + target-name="*"/> + class-name="org.wildfly.transaction.client.RemoteTransactionPermission" + module="org.wildfly.transaction.client"/> + class-name="org.jboss.ejb.client.RemoteEJBPermission" + module="org.jboss.ejb-client"/> + name="local" realm-name="local"/> + name="groups-to-roles" attribute="groups"/> + name="from-roles-attribute" attribute="Roles"/> - + name="super-user-mapper"> + - + name="user-mapper"> + + name="management-http-authentication" + security-domain="ManagementDomain" + http-server-mechanism-factory="global"> + realm-name="ManagementRealm"/> + name="taskana-ldap-http-auth" + security-domain="taskanaLdapSD" + http-server-mechanism-factory="global"> + realm-name="taskanaApplicationDomain"/> + name="global"/> + name="management-sasl-authentication" + sasl-server-factory="configured" + security-domain="ManagementDomain"> + mechanism-name="JBOSS-LOCAL-USER" + realm-mapper="local"/> + realm-name="ManagementRealm"/> + name="application-sasl-authentication" + sasl-server-factory="configured" + security-domain="ApplicationDomain"> + mechanism-name="JBOSS-LOCAL-USER" + realm-mapper="local"/> + realm-name="ApplicationRealm"/> + name="configured" sasl-server-factory="elytron"> + name="wildfly.sasl.local-user.default-user" + value="$local"/> + name="elytron" sasl-server-factory="global"> - + + name="global"/> + url="ldap://127.0.0.1:10389" principal="uid=admin"> + clear-text="secret"/> + default-cache="default" + module="org.wildfly.clustering.server"> - + + default-cache="passivation" + module="org.wildfly.clustering.web.infinispan"> - - + + + purge="false"/> + default-cache="passivation" + module="org.wildfly.clustering.ejb.infinispan"> - - + + + purge="false"/> + module="org.hibernate.infinispan"> - - - + + + - - + + - + - - + + - + - + fail-on-error="true" fail-on-warn="false"/> + - - - + + + + unit="seconds"/> - - - + + + + unit="seconds"/> - + - + - - - + + + + default-extended-persistence-inheritance="DEEP"/> - + + jndi-name="java:jboss/mail/Default"> + outbound-socket-binding-ref="mail-smtp"/> - + - + + name="http-remoting-connector" connector-ref="default" + security-realm="ApplicationRealm"/> + xmlns="urn:jboss:domain:request-controller:1.0"/> - + xmlns="urn:jboss:domain:resource-adapters:5.0"/> + + cache-type="default"> + flag="optional"> + name="password-stacking" + value="useFirstPass"/> + flag="required"> + name="password-stacking" + value="useFirstPass"/> + cache-type="default"> + flag="required"/> + xmlns="urn:jboss:domain:security-manager:1.0"> + class="java.security.AllPermission"/> - + + socket-binding="txn-recovery-environment" + status-socket-binding="txn-status-manager"/> + relative-to="jboss.server.data.dir"/> - + + socket-binding="http" redirect-socket="https" + enable-http2="true"/> + socket-binding="https" + security-realm="ApplicationRealm" + enable-http2="true"/> - - + handler="welcome-content"/> + + + security-realm="ApplicationRealm"/> - - + + + path="${jboss.home.dir}/welcome-content"/> + header-name="Server" header-value="WildFly/11"/> + name="x-powered-by-header" + header-name="X-Powered-By" header-value="Undertow/1"/> + name="taskanaApplicationDomain" + http-authentication-factory="taskana-ldap-http-auth"/> ${jboss.bind.address:127.0.0.1} + name="Standard-Endpoint-Config"/> + name="Recording-Endpoint-Config"> + name="recording-handlers" + protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM"> + class="org.jboss.ws.common.invocation.RecordingServerHandler"/> - + - + + value="${jboss.bind.address.management:127.0.0.1}"/> + value="${jboss.bind.address:127.0.0.1}"/> + default-interface="public" + port-offset="${jboss.socket.binding.port-offset:0}"> + interface="management" + port="${jboss.management.http.port:9990}"/> + interface="management" + port="${jboss.management.https.port:9993}"/> + port="${jboss.ajp.port:8009}"/> + port="${jboss.http.port:8080}"/> + port="${jboss.https.port:8443}"/> + port="4712"/> + port="4713"/> + name="mail-smtp"> + port="25"/> \ No newline at end of file diff --git a/rest/taskana-rest-spring-example-wildfly/src/test/resources/int-test-web.xml b/rest/taskana-rest-spring-example-wildfly/src/test/resources/int-test-web.xml index 23f569d4d..02f6fb861 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/test/resources/int-test-web.xml +++ b/rest/taskana-rest-spring-example-wildfly/src/test/resources/int-test-web.xml @@ -1,7 +1,7 @@ TaskanaRestWildflySpring @@ -29,7 +29,7 @@ /img/logo.png /logout - + * diff --git a/rest/taskana-rest-spring-example-wildfly/src/test/resources/module.xml b/rest/taskana-rest-spring-example-wildfly/src/test/resources/module.xml index 8fe759a26..e027530da 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/test/resources/module.xml +++ b/rest/taskana-rest-spring-example-wildfly/src/test/resources/module.xml @@ -2,13 +2,13 @@ - - - - - + + + + +