Skip to content

Commit 038fa63

Browse files
committed
fix(jakarta): upgrade GraphQL dependencies for Jakarta Servlet 6.x support
Upgrade graphql-java-kickstart/graphql-java-servlet from 14.0.0 to 16.0.0 which supports Jakarta Servlet 6.x. Also upgrade graphql-java from 19.11 to 22.3 (required by kickstart 16.0.0). - Update graphql-java version across all example modules - Switch from javax.servlet to jakarta.servlet in servlet example - Update feature XML with proper OSGi bundle for graphql-java 22.3 (no longer needs wrap:) and add jakarta.websocket API dependencies - Re-enable GraphQLExampleTest (testServlet and testCommand pass) - Keep testWebSocket @ignore due to Pax Web 11.1.0 whiteboard websocket upgrade limitation
1 parent 3f4d604 commit 038fa63

7 files changed

Lines changed: 17 additions & 17 deletions

File tree

examples/karaf-graphql-example/karaf-graphql-example-api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<dependency>
3737
<groupId>com.graphql-java</groupId>
3838
<artifactId>graphql-java</artifactId>
39-
<version>19.11</version>
39+
<version>22.3</version>
4040
</dependency>
4141
</dependencies>
4242

examples/karaf-graphql-example/karaf-graphql-example-commands/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
<dependency>
4242
<groupId>com.graphql-java</groupId>
4343
<artifactId>graphql-java</artifactId>
44-
<version>19.11</version>
44+
<version>22.3</version>
4545
</dependency>
4646
<dependency>
4747
<groupId>org.osgi</groupId>

examples/karaf-graphql-example/karaf-graphql-example-core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
<dependency>
4848
<groupId>com.graphql-java</groupId>
4949
<artifactId>graphql-java</artifactId>
50-
<version>19.11</version>
50+
<version>22.3</version>
5151
</dependency>
5252
<dependency>
5353
<groupId>io.reactivex.rxjava3</groupId>

examples/karaf-graphql-example/karaf-graphql-example-features/src/main/feature/feature.xml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,18 @@
2828

2929
<bundle dependency="true">wrap:mvn:com.graphql-java/java-dataloader/3.3.0</bundle>
3030
<bundle dependency="true">mvn:org.reactivestreams/reactive-streams/1.0.4</bundle>
31-
<bundle dependency="true">wrap:mvn:com.graphql-java/graphql-java/19.11$overwrite=merge&amp;Import-Package=android.os;resolution:=optional,org.slf4j.*,org.dataloader.*,org.reactivestreams.*</bundle>
31+
<bundle dependency="true">mvn:com.graphql-java/graphql-java/22.3</bundle>
3232

3333
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
3434
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.annotations.version}</bundle>
3535
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
3636
<bundle dependency="true">mvn:com.fasterxml.jackson.datatype/jackson-datatype-jdk8/${jackson.version}</bundle>
3737
<bundle dependency="true">mvn:jakarta.servlet/jakarta.servlet-api/6.1.0</bundle>
38+
<bundle dependency="true">mvn:jakarta.websocket/jakarta.websocket-api/2.2.0</bundle>
39+
<bundle dependency="true">mvn:jakarta.websocket/jakarta.websocket-client-api/2.2.0</bundle>
3840

39-
<bundle dependency="true">mvn:com.graphql-java-kickstart/graphql-java-kickstart/14.0.0</bundle>
40-
<bundle dependency="true">mvn:com.graphql-java-kickstart/graphql-java-servlet/14.0.0</bundle>
41+
<bundle dependency="true">mvn:com.graphql-java-kickstart/graphql-java-kickstart/16.0.0</bundle>
42+
<bundle dependency="true">mvn:com.graphql-java-kickstart/graphql-java-servlet/16.0.0</bundle>
4143

4244
<bundle dependency="true">mvn:io.reactivex.rxjava3/rxjava/3.1.5</bundle>
4345

examples/karaf-graphql-example/karaf-graphql-example-scr-servlet/pom.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,17 @@
4242
<dependency>
4343
<groupId>com.graphql-java</groupId>
4444
<artifactId>graphql-java</artifactId>
45-
<version>19.11</version>
45+
<version>22.3</version>
4646
</dependency>
4747
<dependency>
4848
<groupId>com.graphql-java-kickstart</groupId>
4949
<artifactId>graphql-java-servlet</artifactId>
50-
<version>14.0.0</version>
50+
<version>16.0.0</version>
5151
</dependency>
5252
<dependency>
53-
<groupId>javax.servlet</groupId>
54-
<artifactId>javax.servlet-api</artifactId>
55-
<version>4.0.1</version>
53+
<groupId>${servlet.spec.groupId}</groupId>
54+
<artifactId>${servlet.spec.artifactId}</artifactId>
55+
<version>${servlet.spec.version}</version>
5656
<scope>provided</scope>
5757
</dependency>
5858
<dependency>

examples/karaf-graphql-example/karaf-graphql-example-scr-servlet/src/main/java/org/apache/karaf/examples/graphql/servlet/ExampleGraphQLHttpServlet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import org.osgi.service.component.annotations.Component;
2323
import org.osgi.service.component.annotations.Reference;
2424

25-
import javax.servlet.Servlet;
25+
import jakarta.servlet.Servlet;
2626

2727
@Component(service = Servlet.class, property = {"alias=/graphql", "servlet-name=GraphQL"})
2828
public class ExampleGraphQLHttpServlet extends GraphQLHttpServlet {

itests/test/src/test/java/org/apache/karaf/itests/examples/GraphQLExampleTest.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import com.fasterxml.jackson.databind.node.ObjectNode;
1818
import org.apache.karaf.itests.BaseTest;
1919
import org.apache.karaf.itests.util.SimpleSocket;
20-
import org.eclipse.jetty.websocket.client.ClientUpgradeRequest;
2120
import org.eclipse.jetty.websocket.client.WebSocketClient;
2221
import org.junit.Ignore;
2322
import org.junit.Test;
@@ -40,7 +39,6 @@
4039

4140
@RunWith(PaxExam.class)
4241
@ExamReactorStrategy(PerMethod.class)
43-
@Ignore("graphql-java-servlet 14.0.0 requires javax.servlet, incompatible with Jakarta Servlet 6.x")
4442
public class GraphQLExampleTest extends BaseTest {
4543

4644
private void setUp() throws Exception {
@@ -78,6 +76,7 @@ public void testCommand() throws Exception {
7876
System.out.println(output);
7977
}
8078

79+
@Ignore("WebSocket upgrade via Pax Web 11.1.0 OSGi HTTP Whiteboard returns 404")
8180
@Test
8281
public void testWebSocket() throws Exception {
8382
setUp();
@@ -86,12 +85,11 @@ public void testWebSocket() throws Exception {
8685
SimpleSocket socket = new SimpleSocket();
8786
client.start();
8887
URI uri = new URI("ws://localhost:" + getHttpPort() + "/graphql-websocket");
89-
ClientUpgradeRequest request = new ClientUpgradeRequest();
90-
client.connect(socket, uri, request);
88+
client.connect(socket, uri).get(10, TimeUnit.SECONDS);
9189

9290
sendPostRequest("mutation { addBook(name:\"Lord of the Rings\" pageCount:100) { id name } }");
9391

94-
socket.awaitClose(10, TimeUnit.SECONDS);
92+
Thread.sleep(3000);
9593

9694
assertTrue(socket.messages.size() > 0);
9795

0 commit comments

Comments
 (0)