Uploaded image for project: 'WildFly EJB HTTP Client'
  1. WildFly EJB HTTP Client
  2. WEJBHTTP-138

Enforce use of --release 8 of 1.1 branch

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 1.1.17.Final
    • None

      Branch 1.1 is a dedicated branch to be able to run under JDK 8, however, if the 1.1 branch is built using JDK11 or plus, and running on JDK8, there will be an error like:

      13:45:56,208 ERROR [org.xnio.listener] (XNIO-1 I/O-1) XNIO001007: A channel event listener threw an exception: java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;
      	at org.wildfly.httpclient.common.WildflyClientInputStream$1.handleEvent(WildflyClientInputStream.java:70)
      	at org.wildfly.httpclient.common.WildflyClientInputStream$1.handleEvent(WildflyClientInputStream.java:47)
      	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      	at io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel$1.run(AbstractFramedStreamSourceChannel.java:292)
      	at io.undertow.server.protocol.framed.AbstractFramedChannel$1.run(AbstractFramedChannel.java:146)
      	at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:624)
      	at org.xnio.nio.WorkerThread.run(WorkerThread.java:491)
      

      There is an option --release 8 added via https://openjdk.org/jeps/247 , and in jboss-parent:35, there is a profile:

              <profile>
                <id>compile-java8-release-flag</id>
                <activation>
                  <file>
                    <exists>${basedir}/build-release-8</exists>
                  </file>
                  <jdk>[9,</jdk>
                </activation>
                <build>
                  <plugins>
                    <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-compiler-plugin</artifactId>
                      <executions>
                        <execution>
                          <id>default-compile</id>
                          <phase>compile</phase>
                          <goals>
                            <goal>compile</goal>
                          </goals>
                          <configuration>
                            <release>8</release>
                          </configuration>
                        </execution>
                      </executions>
                    </plugin>
                  </plugins>
                </build>
              </profile>
      

      So adding a build-release-8 file in each module should enable the compiler option.

              Unassigned Unassigned
              rhn-engineering-lgao Lin Gao
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: