Browse Source

Update WildFly to Jakarta EE 10 and the latest version of WildFly. (#9266)

Signed-off-by: James R. Perkins <[email protected]>
James R. Perkins 10 months ago
parent
commit
42acadfb41
18 changed files with 159 additions and 132 deletions
  1. 96 67
      frameworks/Java/wildfly-ee/pom.xml
  2. 0 0
      frameworks/Java/wildfly-ee/scripts/wildfly-setup.cli
  3. 4 4
      frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/jpa/PersistenceResources.java
  4. 7 7
      frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/model/Fortune.java
  5. 5 5
      frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/model/World.java
  6. 4 4
      frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/rest/CatchAllExceptionMapper.java
  7. 2 2
      frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/rest/MyApplication.java
  8. 5 5
      frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/Fortunes.java
  9. 4 4
      frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/JsonSerialization.java
  10. 7 7
      frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/MultipleQueries.java
  11. 4 4
      frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/PlainText.java
  12. 6 6
      frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/SingleQuery.java
  13. 4 4
      frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/TestActions.java
  14. 6 6
      frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/Updates.java
  15. 0 0
      frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/util/Helpers.java
  16. 0 1
      frameworks/Java/wildfly-ee/src/main/resources/META-INF/persistence.xml
  17. 3 3
      frameworks/Java/wildfly-ee/src/main/webapp/WEB-INF/web.xml
  18. 2 3
      frameworks/Java/wildfly-ee/wildfly-ee.dockerfile

+ 96 - 67
frameworks/Java/wildfly-ee/pom.xml

@@ -13,27 +13,69 @@
 		<java.version>17</java.version>
 		<version.compiler.plugin>3.9.0</version.compiler.plugin>
 		<version.war.plugin>3.3.2</version.war.plugin>
-		<version.javaee.api>8.0</version.javaee.api>
-		<version.wildfly.bootable>26.0.1.Final</version.wildfly.bootable>
-		<version.wildfly.maven.jar.plugin>7.0.0.Final</version.wildfly.maven.jar.plugin>
-		<version.wildfly.galleon.datasources.feature.pack>2.0.6.Final</version.wildfly.galleon.datasources.feature.pack>
+		<version.jakarta.ee>10.0.0</version.jakarta.ee>
+		<version.wildfly-maven-plugin>5.0.1.Final</version.wildfly-maven-plugin>
+		<version.wildfly.galleon.datasources.feature.pack>8.0.1.Final</version.wildfly.galleon.datasources.feature.pack>
 	</properties>
 
-	<dependencies>
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>jakarta.platform</groupId>
+				<artifactId>jakarta.jakartaee-bom</artifactId>
+				<version>${version.jakarta.ee}</version>
+				<scope>import</scope>
+				<type>pom</type>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
 
+	<dependencies>
 		<dependency>
-			<groupId>javax</groupId>
-			<artifactId>javaee-api</artifactId>
-			<version>${version.javaee.api}</version>
+			<groupId>jakarta.annotation</groupId>
+			<artifactId>jakarta.annotation-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.enterprise</groupId>
+			<artifactId>jakarta.enterprise.cdi-api</artifactId>
 			<scope>provided</scope>
 		</dependency>
-
 		<dependency>
-			<groupId>org.glassfish.jaxb</groupId>
-			<artifactId>jaxb-runtime</artifactId>
-			<version>2.4.0-b180830.0438</version>
+			<groupId>jakarta.enterprise.concurrent</groupId>
+			<artifactId>jakarta.enterprise.concurrent-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.inject</groupId>
+			<artifactId>jakarta.inject-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.json</groupId>
+			<artifactId>jakarta.json-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.persistence</groupId>
+			<artifactId>jakarta.persistence-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.transaction</groupId>
+			<artifactId>jakarta.transaction-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.validation</groupId>
+			<artifactId>jakarta.validation-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>jakarta.ws.rs</groupId>
+			<artifactId>jakarta.ws.rs-api</artifactId>
+			<scope>provided</scope>
 		</dependency>
-
 	</dependencies>
 
 	<build>
@@ -50,63 +92,50 @@
 				<artifactId>maven-compiler-plugin</artifactId>
 				<version>${version.compiler.plugin}</version>
 				<configuration>
-					<source>${java.version}</source>
-					<target>${java.version}</target>
 					<release>${java.version}</release>
 				</configuration>
 			</plugin>
+			<plugin>
+				<groupId>org.wildfly.plugins</groupId>
+				<artifactId>wildfly-maven-plugin</artifactId>
+				<version>${version.wildfly-maven-plugin}</version>
+				<configuration>
+					<name>ROOT.war</name>
+					<!-- Not using the version for the feature-pack and channel manifest will always use the latest -->
+					<feature-packs>
+						<feature-pack>
+							<groupId>org.wildfly</groupId>
+							<artifactId>wildfly-ee-galleon-pack</artifactId>
+						</feature-pack>
+						<feature-pack>
+							<groupId>org.wildfly</groupId>
+							<artifactId>wildfly-datasources-galleon-pack</artifactId>
+							<version>${version.wildfly.galleon.datasources.feature.pack}</version>
+						</feature-pack>
+					</feature-packs>
+					<channels>
+						<channel>
+							<manifest>
+								<groupId>org.wildfly.channels</groupId>
+								<artifactId>wildfly-ee</artifactId>
+							</manifest>
+						</channel>
+					</channels>
+					<layers>
+						<layer>jaxrs-server</layer>
+						<layer>jpa</layer>
+						<layer>jsf</layer>
+						<layer>mysql-driver</layer>
+					</layers>
+					<packaging-scripts>
+						<packaging-script>
+							<scripts>
+								<script>${basedir}/scripts/wildfly-setup.cli</script>
+							</scripts>
+						</packaging-script>
+					</packaging-scripts>
+				</configuration>
+			</plugin>
 		</plugins>
 	</build>
-
-	<profiles>
-		<profile>
-			<id>bootable-jar</id>
-			<activation>
-				<activeByDefault>false</activeByDefault>
-			</activation>
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>org.wildfly.plugins</groupId>
-						<artifactId>wildfly-jar-maven-plugin</artifactId>
-						<version>${version.wildfly.maven.jar.plugin}</version>
-						<configuration>
-							<feature-packs>
-								<feature-pack>
-									<location>wildfly@maven(org.jboss.universe:community-universe)#${version.wildfly.bootable}</location>
-								</feature-pack>
-								<feature-pack>
-									<groupId>org.wildfly</groupId>
-									<artifactId>wildfly-datasources-galleon-pack</artifactId>
-									<version>${version.wildfly.galleon.datasources.feature.pack}</version>
-								</feature-pack>
-							</feature-packs>
-							<layers>
-								<layer>jaxrs-server</layer>
-								<layer>jsf</layer>
-								<layer>mysql-driver</layer>
-							</layers>
-							<excluded-layers>
-								<layer>deployment-scanner</layer>
-							</excluded-layers>
-							<cli-sessions>
-								<cli-session>
-									<script-files>
-										<script>scripts/bootable-jar.cli</script>
-									</script-files>
-								</cli-session>
-							</cli-sessions>
-						</configuration>
-						<executions>
-							<execution>
-								<goals>
-									<goal>package</goal>
-								</goals>
-							</execution>
-						</executions>
-					</plugin>
-				</plugins>
-			</build>
-		</profile>
-	</profiles>
 </project>

+ 0 - 0
frameworks/Java/wildfly-ee/scripts/bootable-jar.cli → frameworks/Java/wildfly-ee/scripts/wildfly-setup.cli


+ 4 - 4
frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee7/jpa/PersistenceResources.java → frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/jpa/PersistenceResources.java

@@ -1,9 +1,9 @@
 package com.techempower.ee7.jpa;
 
-import javax.enterprise.context.Dependent;
-import javax.enterprise.inject.Produces;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
+import jakarta.enterprise.context.Dependent;
+import jakarta.enterprise.inject.Produces;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceContext;
 
 public class PersistenceResources {
 

+ 7 - 7
frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee7/model/Fortune.java → frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/model/Fortune.java

@@ -2,13 +2,13 @@ package com.techempower.ee7.model;
 
 import java.io.Serializable;
 
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.NamedQuery;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.NamedQuery;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
 
 @NamedQuery(name = "allFortunes", query = "SELECT f FROM Fortune f")
 @Entity

+ 5 - 5
frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee7/model/World.java → frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/model/World.java

@@ -2,11 +2,11 @@ package com.techempower.ee7.model;
 
 import java.io.Serializable;
 
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.validation.constraints.NotNull;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.validation.constraints.NotNull;
 
 @Entity
 public class World implements Serializable {

+ 4 - 4
frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee7/rest/CatchAllExceptionMapper.java → frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/rest/CatchAllExceptionMapper.java

@@ -1,9 +1,9 @@
 package com.techempower.ee7.rest;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 @Provider
 public class CatchAllExceptionMapper implements ExceptionMapper<Exception> {

+ 2 - 2
frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee7/rest/MyApplication.java → frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/rest/MyApplication.java

@@ -1,7 +1,7 @@
 package com.techempower.ee7.rest;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
 
 @ApplicationPath("rest")
 public class MyApplication extends Application {

+ 5 - 5
frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee7/tests/Fortunes.java → frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/Fortunes.java

@@ -3,11 +3,11 @@ package com.techempower.ee7.tests;
 import java.util.Collections;
 import java.util.List;
 
-import javax.annotation.PostConstruct;
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.inject.Named;
-import javax.persistence.EntityManager;
+import jakarta.annotation.PostConstruct;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
+import jakarta.persistence.EntityManager;
 
 import com.techempower.ee7.model.Fortune;
 

+ 4 - 4
frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee7/tests/JsonSerialization.java → frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/JsonSerialization.java

@@ -1,9 +1,9 @@
 package com.techempower.ee7.tests;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 @Path("/json")
 public class JsonSerialization {

+ 7 - 7
frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee7/tests/MultipleQueries.java → frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/MultipleQueries.java

@@ -3,13 +3,13 @@ package com.techempower.ee7.tests;
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.MediaType;
 
 import com.techempower.ee7.model.World;
 import com.techempower.ee7.util.Helpers;

+ 4 - 4
frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee7/tests/PlainText.java → frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/PlainText.java

@@ -1,9 +1,9 @@
 package com.techempower.ee7.tests;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 @Path("/plaintext")
 public class PlainText {

+ 6 - 6
frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee7/tests/SingleQuery.java → frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/SingleQuery.java

@@ -1,11 +1,11 @@
 package com.techempower.ee7.tests;
 
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
 
 import com.techempower.ee7.model.World;
 import com.techempower.ee7.util.Helpers;

+ 4 - 4
frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee7/tests/TestActions.java → frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/TestActions.java

@@ -1,9 +1,9 @@
 package com.techempower.ee7.tests;
 
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.persistence.EntityManager;
-import javax.transaction.Transactional;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
+import jakarta.transaction.Transactional;
 
 import com.techempower.ee7.model.World;
 import com.techempower.ee7.util.Helpers;

+ 6 - 6
frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee7/tests/Updates.java → frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/tests/Updates.java

@@ -3,12 +3,12 @@ package com.techempower.ee7.tests;
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.MediaType;
 
 import com.techempower.ee7.model.World;
 import com.techempower.ee7.util.Helpers;

+ 0 - 0
frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee7/util/Helpers.java → frameworks/Java/wildfly-ee/src/main/java/com/techempower/ee/util/Helpers.java


+ 0 - 1
frameworks/Java/wildfly-ee/src/main/resources/META-INF/persistence.xml

@@ -6,7 +6,6 @@
 		<shared-cache-mode>NONE</shared-cache-mode>
 		<properties>
 			<property name="hibernate.hbm2ddl.auto" value="none"/>
-			<property name="hibernate.dialect" value="MySQL57InnoDB" />
 		</properties>
 	</persistence-unit>
 </persistence>

+ 3 - 3
frameworks/Java/wildfly-ee/src/main/webapp/WEB-INF/web.xml

@@ -8,7 +8,7 @@
 
 	<servlet>
 		<servlet-name>Faces Servlet</servlet-name>
-		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+		<servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
 		<load-on-startup>1</load-on-startup>
 	</servlet>
 
@@ -18,12 +18,12 @@
 	</servlet-mapping>
 
 	<context-param>
-		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+		<param-name>jakarta.faces.STATE_SAVING_METHOD</param-name>
 		<param-value>client</param-value>
 	</context-param>
 
 	<context-param>
-		<param-name>javax.faces.PROJECT_STAGE</param-name>
+		<param-name>jakarta.faces.PROJECT_STAGE</param-name>
 		<param-value>Production</param-value>
 	</context-param>
 

+ 2 - 3
frameworks/Java/wildfly-ee/wildfly-ee.dockerfile

@@ -1,9 +1,8 @@
 FROM maven:3-openjdk-17
 WORKDIR /wildfly
 EXPOSE 8080
-ENV MAVEN_OPTS="--add-exports=java.xml/com.sun.org.apache.xerces.internal.parsers=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xerces.internal.util=ALL-UNNAMED"
 COPY src src
 COPY scripts scripts
 COPY pom.xml pom.xml
-RUN mvn clean package -P bootable-jar
-CMD java -Djava.net.preferIPv4Stack=true -XX:SoftMaxHeapSize=18g -Xmx24g -XX:+UseZGC -jar target/wildfly-ee-bootable.jar
+RUN mvn clean package wildfly:package
+CMD JAVA_OPTS="-Djava.net.preferIPv4Stack=true -XX:SoftMaxHeapSize=18g -Xmx24g -XX:+UseZGC" ./target/server/bin/standalone.sh