Wildfly Swarm 2018.5.0 не запускает прослушиватель HTTPS - PullRequest
0 голосов
/ 25 июня 2018

У меня успешно работает конфигурация на WildFly Swarm 2018.4.1. Когда я пытаюсь перейти на Wildfly Swarm 2018.5.0, я сталкиваюсь с двумя проблемами:

  1. NPE, который можно решить, следуя обходному пути в этом элементе JIRA:

    https://issues.jboss.org/browse/THORN-2015

После этого изменения сервер запустился успешно. Тем не менее

  1. Слушатель HTTPS не запущен. Я предполагаю, что это как-то связано с критическими изменениями в Wildfly Swarm 2018.5.0, как было объявлено в этом посте:

    http://wildfly -swarm.io / сообщений / объявляя-wildfly-роя-2018-5-0 /

    Особенно предложение:

    Конфигурация по умолчанию подсистемы Elytron теперь намного ближе к WildFly годов. Elytron - это новая подсистема безопасности в WildFly, но она В WildFly Swarm еще не уделяется много внимания.

    Однако я не смог найти то, что мне нужно изменить из моей текущей конфигурации для поддержки новой конфигурации.

Что мне нужно изменить в моей конфигурации, чтобы запустить его под WildFly Swarm 2018.5.0?

Вот мой pom (с изменениями для поддержки обходного пути (1)):

<?xml version="1.0" encoding="UTF-8"?>
<!--
Private Module Warnings addressed in https://issues.jboss.org/browse/SWARM-1110
-->
<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.foo</groupId>
    <artifactId>api</artifactId>
    <name>Foo Web API</name>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <properties>
        <version.wildfly.swarm>2018.5.0</version.wildfly.swarm>
        <version.arquillian>1.2.0.Final</version.arquillian>
        <version.postgres>42.1.4</version.postgres>
        <version.resteasy>3.1.4.Final</version.resteasy>
        <version.slf4j>1.7.25</version.slf4j>
        <version.swagger>1.5.17</version.swagger>
        <version.itext>5.5.13</version.itext>
        <version.itext.pdfhtml>2.0.1</version.itext.pdfhtml>
        <version.apache.commons>1.2</version.apache.commons>
        <version.projectlombok>1.16.18</version.projectlombok>
        <version.hibernate>5.2.12.Final</version.hibernate>
        <version.freemarker>2.3.28</version.freemarker>
        <version.junit>4.12</version.junit>
        <version.hamcrest>1.3</version.hamcrest>
        <version.jersey>2.26</version.jersey>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.wildfly.swarm</groupId>
                <artifactId>bom-all</artifactId>
                <version>${version.wildfly.swarm}</version>
                <scope>import</scope>
                <type>pom</type>
                <!-- Workaround for issue: https://issues.jboss.org/browse/THORN-2015 -->
                <exclusions>
                    <exclusion>
                        <groupId>org.wildlfy.swarm</groupId>
                        <artifactId>config-api-runtime</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>${version.arquillian}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <finalName>webapi</finalName>
       <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.wildfly.swarm</groupId>
                <artifactId>wildfly-swarm-plugin</artifactId>
                <version>${version.wildfly.swarm}</version>       
                <executions>
                    <execution>
                        <goals>
                            <goal>package</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <additionalFractions>management</additionalFractions>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.1.0</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <!-- here the phase you need -->
                        <phase>validate</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${basedir}/target</outputDirectory>
                            <resources>          
                                <resource>
                                    <directory>src/non-packaged-resources</directory>
                                    <filtering>false</filtering>
                                </resource>
                            </resources>              
                        </configuration>            
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <!-- Add artifact for workaround in proper version -->
        <dependency> 
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>config-api-runtime</artifactId>
            <version>1.3.1</version>
        </dependency>
        <!-- Java EE 7 dependency -->
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <type>jar</type>
        </dependency>
        <!-- WildFly Swarm Fractions -->
        <dependency>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>undertow</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>jaxrs</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>cdi</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>swagger</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>logging</artifactId>
        </dependency>
        <dependency>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>keycloak</artifactId>
            <!-- Workaround for issue: https://issues.jboss.org/browse/THORN-2015 -->
            <exclusions>
                <exclusion>
                    <groupId>org.wildlfy.swarm</groupId>
                    <artifactId>config-api-runtime</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>mail</artifactId>
        </dependency>
        <!-- Database dependencies -->
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>${version.postgres}</version>
        </dependency>
        <!-- iText Dependencies -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>${version.itext}</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-pdfa</artifactId>
            <version>${version.itext}</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-xtra</artifactId>
            <version>${version.itext}</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf.tool</groupId>
            <artifactId>xmlworker</artifactId>
            <version>${version.itext}</version>
        </dependency>
        <!-- Other dependencies -->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>${version.freemarker}</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${version.hibernate}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${version.slf4j}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-text</artifactId>
            <version>${version.apache.commons}</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${version.projectlombok}</version>
            <scope>compile</scope>
        </dependency>
        <!-- Test dependencies -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${version.junit}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>${version.slf4j}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <version>${version.hamcrest}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-common</artifactId>
            <version>${version.jersey}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

И мой проект-defaults.yml:

swarm:
  mail:
    mail-sessions:
      mail-socket:
        jndi-name: java:/mail/Foo
        smtp-server:
          username: foo@bar.com
          password: xxx
          tls: true
          outbound-socket-binding-ref: mail-smtp
        debug: false
        from: for@bar.com
  network:
    socket-binding-groups:
      standard-sockets:
        outbound-socket-bindings:
          mail-smtp:
            remote-host: smtp.office365.com
            remote-port: 587
  http:
    keystore: 
      path: star_foo_com.jks
      password: xxx
    certificate:
      alias: server
  deployment:
    webapi.war:
      swagger:
        packages:
          - com.foo.api
        root: /rest/v1/
  logging:
    root-logger:
      level: INFO
    loggers:
      com.foo:
        level: DEBUG
  datasources:
    jdbc-drivers:
      org.postgresql:
        driver-class-name: org.postgresql.Driver
        xa-datasource-class-name: org.postgresql.xa.PGXADataSource
        driver-module-name: org.postgresql
    data-sources:
      FooDS:
        driver-name: org.postgresql
        connection-url: jdbc:postgresql://xxx.eu-west-1.rds.amazonaws.com:5432/postgres
        user-name: db_admin
        password: xxx
        allow-multiple-users: true
        allocation-retry-wait-millis: 100
        allocation-retry: 10
        check-valid-connection-sql: SELECT 1
        jta: true
...