diff --git a/docs/src/main/asciidoc/websockets-next-reference.adoc b/docs/src/main/asciidoc/websockets-next-reference.adoc index f1d3ad460a5b7..1ff21130b0d13 100644 --- a/docs/src/main/asciidoc/websockets-next-reference.adoc +++ b/docs/src/main/asciidoc/websockets-next-reference.adoc @@ -13,7 +13,6 @@ include::_attributes.adoc[] :categories: web :topics: web,websockets :extensions: io.quarkus:quarkus-websockets-next -:extension-status: experimental include::{includes}/extension-status.adoc[] diff --git a/docs/src/main/asciidoc/websockets-next-tutorial.adoc b/docs/src/main/asciidoc/websockets-next-tutorial.adoc index fa8b09cd770c2..93b97cfa26343 100644 --- a/docs/src/main/asciidoc/websockets-next-tutorial.adoc +++ b/docs/src/main/asciidoc/websockets-next-tutorial.adoc @@ -10,7 +10,6 @@ include::_attributes.adoc[] :summary: This guide explains how your Quarkus application can utilize web sockets to create interactive web applications. This guide uses the WebSockets Next extension :topics: web,websockets :extensions: io.quarkus:quarkus-websockets-next -:extension-status: experimental This guide explains how your Quarkus application can utilize web sockets to create interactive web applications. In this guide, we will develop a very simple chat application using web sockets to receive and send messages to the other connected users. diff --git a/extensions/websockets-next/deployment/src/main/java/io/quarkus/websockets/next/deployment/WebSocketProcessor.java b/extensions/websockets-next/deployment/src/main/java/io/quarkus/websockets/next/deployment/WebSocketProcessor.java index ce7b6c42419b8..6b33ff21fd719 100644 --- a/extensions/websockets-next/deployment/src/main/java/io/quarkus/websockets/next/deployment/WebSocketProcessor.java +++ b/extensions/websockets-next/deployment/src/main/java/io/quarkus/websockets/next/deployment/WebSocketProcessor.java @@ -106,9 +106,9 @@ import io.quarkus.websockets.next.WebSocketConnection; import io.quarkus.websockets.next.WebSocketException; import io.quarkus.websockets.next.WebSocketServerException; -import io.quarkus.websockets.next.WebSocketsServerBuildConfig; import io.quarkus.websockets.next.deployment.Callback.MessageType; import io.quarkus.websockets.next.deployment.Callback.Target; +import io.quarkus.websockets.next.deployment.config.WebSocketsServerBuildConfig; import io.quarkus.websockets.next.runtime.BasicWebSocketConnectorImpl; import io.quarkus.websockets.next.runtime.ClientConnectionManager; import io.quarkus.websockets.next.runtime.Codecs; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketsServerBuildConfig.java b/extensions/websockets-next/deployment/src/main/java/io/quarkus/websockets/next/deployment/config/WebSocketsServerBuildConfig.java similarity index 92% rename from extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketsServerBuildConfig.java rename to extensions/websockets-next/deployment/src/main/java/io/quarkus/websockets/next/deployment/config/WebSocketsServerBuildConfig.java index 9cb3a2e8cd16a..0d8a05addcdd2 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketsServerBuildConfig.java +++ b/extensions/websockets-next/deployment/src/main/java/io/quarkus/websockets/next/deployment/config/WebSocketsServerBuildConfig.java @@ -1,4 +1,4 @@ -package io.quarkus.websockets.next; +package io.quarkus.websockets.next.deployment.config; import io.quarkus.runtime.annotations.ConfigPhase; import io.quarkus.runtime.annotations.ConfigRoot; @@ -6,7 +6,7 @@ import io.smallrye.config.WithDefault; @ConfigMapping(prefix = "quarkus.websockets-next.server") -@ConfigRoot(phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED) +@ConfigRoot(phase = ConfigPhase.BUILD_TIME) public interface WebSocketsServerBuildConfig { /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BasicWebSocketConnector.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BasicWebSocketConnector.java index f261b513dce2a..c89f59f2a45f8 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BasicWebSocketConnector.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BasicWebSocketConnector.java @@ -10,7 +10,6 @@ import io.quarkus.arc.Arc; import io.smallrye.common.annotation.CheckReturnValue; -import io.smallrye.common.annotation.Experimental; import io.smallrye.mutiny.Uni; import io.vertx.core.buffer.Buffer; @@ -42,7 +41,6 @@ * * @see WebSocketClientConnection */ -@Experimental("This API is experimental and may change in the future") public interface BasicWebSocketConnector { /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BinaryDecodeException.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BinaryDecodeException.java index fad7edcffcc57..9c76b200a573b 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BinaryDecodeException.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BinaryDecodeException.java @@ -1,13 +1,11 @@ package io.quarkus.websockets.next; -import io.smallrye.common.annotation.Experimental; import io.vertx.core.buffer.Buffer; /** * * @see BinaryMessageCodec */ -@Experimental("This API is experimental and may change in the future") public class BinaryDecodeException extends WebSocketException { private static final long serialVersionUID = 6814319993301938091L; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BinaryEncodeException.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BinaryEncodeException.java index 153c72fba8a3e..83aff27991df6 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BinaryEncodeException.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BinaryEncodeException.java @@ -1,12 +1,9 @@ package io.quarkus.websockets.next; -import io.smallrye.common.annotation.Experimental; - /** * * @see BinaryMessageCodec */ -@Experimental("This API is experimental and may change in the future") public class BinaryEncodeException extends WebSocketException { private static final long serialVersionUID = -8042792962717461873L; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BinaryMessageCodec.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BinaryMessageCodec.java index 25fdd901a44a0..5600f565b6f94 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BinaryMessageCodec.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/BinaryMessageCodec.java @@ -1,6 +1,5 @@ package io.quarkus.websockets.next; -import io.smallrye.common.annotation.Experimental; import io.vertx.core.buffer.Buffer; /** @@ -28,7 +27,6 @@ * @param * @see OnBinaryMessage */ -@Experimental("This API is experimental and may change in the future") public interface BinaryMessageCodec extends MessageCodec { } diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/InboundProcessingMode.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/InboundProcessingMode.java index c1c1ee4505923..f2599f7a8d9ad 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/InboundProcessingMode.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/InboundProcessingMode.java @@ -1,7 +1,5 @@ package io.quarkus.websockets.next; -import io.smallrye.common.annotation.Experimental; - /** * WebSocket endpoints define the mode used to process incoming events for a specific connection. *

@@ -10,7 +8,6 @@ * @see WebSocketConnection * @see WebSocketClientConnection */ -@Experimental("This API is experimental and may change in the future") public enum InboundProcessingMode { /** @@ -23,4 +20,4 @@ public enum InboundProcessingMode { */ CONCURRENT, -} \ No newline at end of file +} diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/MessageCodec.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/MessageCodec.java index 4d99833c0f57a..8037acec35abc 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/MessageCodec.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/MessageCodec.java @@ -2,8 +2,6 @@ import java.lang.reflect.Type; -import io.smallrye.common.annotation.Experimental; - /** * Used to encode and decode messages. * @@ -12,7 +10,6 @@ * @see TextMessageCodec * @see BinaryMessageCodec */ -@Experimental("This API is experimental and may change in the future") public interface MessageCodec { /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnBinaryMessage.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnBinaryMessage.java index 33300b621bbfe..ff22a8af70ff2 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnBinaryMessage.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnBinaryMessage.java @@ -6,8 +6,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.Target; -import io.smallrye.common.annotation.Experimental; - /** * {@link WebSocket} and {@link WebSocketClient} endpoint methods annotated with this annotation consume binary messages. An * endpoint may declare at most one method annotated with this annotation. @@ -61,7 +59,6 @@ */ @Retention(RUNTIME) @Target(METHOD) -@Experimental("This API is experimental and may change in the future") public @interface OnBinaryMessage { /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnClose.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnClose.java index bf0f807727c8a..83a0998f47de2 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnClose.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnClose.java @@ -6,8 +6,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.Target; -import io.smallrye.common.annotation.Experimental; - /** * {@link WebSocket} and {@link WebSocketClient} endpoint methods annotated with this annotation are invoked when a connection * is closed. An endpoint may declare at most one method annotated with this annotation. The method must return {@code void} or @@ -46,7 +44,6 @@ */ @Retention(RUNTIME) @Target(METHOD) -@Experimental("This API is experimental and may change in the future") public @interface OnClose { } diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnError.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnError.java index 4e2464ba2d485..f230dddbabcbc 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnError.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnError.java @@ -6,8 +6,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.Target; -import io.smallrye.common.annotation.Experimental; - /** * {@link WebSocket} and {@link WebSocketClient} endpoint methods annotated with this annotation are invoked when an error * occurs. @@ -59,7 +57,6 @@ */ @Retention(RUNTIME) @Target(METHOD) -@Experimental("This API is experimental and may change in the future") public @interface OnError { } diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnOpen.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnOpen.java index 1ac5bd5afd274..dc0f0e7aa6753 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnOpen.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnOpen.java @@ -6,8 +6,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.Target; -import io.smallrye.common.annotation.Experimental; - /** * {@link WebSocket} and {@link WebSocketClient} endpoint methods annotated with this annotation are invoked when a new * connection is opened. An endpoint may declare at most one method annotated with this annotation. @@ -43,7 +41,6 @@ */ @Retention(RUNTIME) @Target(METHOD) -@Experimental("This API is experimental and may change in the future") public @interface OnOpen { /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnPongMessage.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnPongMessage.java index b8efe45d646e2..fef99befc4b5d 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnPongMessage.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnPongMessage.java @@ -6,8 +6,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.Target; -import io.smallrye.common.annotation.Experimental; - /** * {@link WebSocket} and {@link WebSocketClient} endpoint methods annotated with this annotation consume pong messages. An * endpoint may declare at most one method annotated with this annotation. @@ -45,7 +43,6 @@ */ @Retention(RUNTIME) @Target(METHOD) -@Experimental("This API is experimental and may change in the future") public @interface OnPongMessage { } diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnTextMessage.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnTextMessage.java index 8eab65d7977d9..8efe3b1236616 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnTextMessage.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OnTextMessage.java @@ -6,8 +6,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.Target; -import io.smallrye.common.annotation.Experimental; - /** * {@link WebSocket} and {@link WebSocketClient} endpoint methods annotated with this annotation consume text messages. An * endpoint may declare at most one method annotated with this annotation. @@ -60,7 +58,6 @@ */ @Retention(RUNTIME) @Target(METHOD) -@Experimental("This API is experimental and may change in the future") public @interface OnTextMessage { /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OpenClientConnections.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OpenClientConnections.java index 0f99844f49ecd..323b91c383d86 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OpenClientConnections.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OpenClientConnections.java @@ -6,14 +6,11 @@ import jakarta.enterprise.inject.Default; -import io.smallrye.common.annotation.Experimental; - /** * Provides convenient access to all open client connections. *

* Quarkus provides a CDI bean with bean type {@link OpenClientConnections} and qualifier {@link Default}. */ -@Experimental("This API is experimental and may change in the future") public interface OpenClientConnections extends Iterable { /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OpenConnections.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OpenConnections.java index 6f5f59c2cdbf0..fac51d3a034f1 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OpenConnections.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/OpenConnections.java @@ -6,14 +6,11 @@ import jakarta.enterprise.inject.Default; -import io.smallrye.common.annotation.Experimental; - /** * Provides convenient access to all open connections. *

* Quarkus provides a CDI bean with bean type {@link OpenConnections} and qualifier {@link Default}. */ -@Experimental("This API is experimental and may change in the future") public interface OpenConnections extends Iterable { /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/Sender.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/Sender.java index b97535e5151fb..b433af84d9397 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/Sender.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/Sender.java @@ -1,14 +1,12 @@ package io.quarkus.websockets.next; import io.smallrye.common.annotation.CheckReturnValue; -import io.smallrye.common.annotation.Experimental; import io.smallrye.mutiny.Uni; import io.vertx.core.buffer.Buffer; /** * Sends messages to the connected WebSocket client/server. */ -@Experimental("This API is experimental and may change in the future") public interface Sender { /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TextDecodeException.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TextDecodeException.java index c3b565741a868..95a75be93ce5c 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TextDecodeException.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TextDecodeException.java @@ -1,12 +1,9 @@ package io.quarkus.websockets.next; -import io.smallrye.common.annotation.Experimental; - /** * * @see TextMessageCodec */ -@Experimental("This API is experimental and may change in the future") public class TextDecodeException extends WebSocketException { private static final long serialVersionUID = 6814319993301938091L; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TextEncodeException.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TextEncodeException.java index d41aaf9615922..f62cc7151b2e2 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TextEncodeException.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TextEncodeException.java @@ -1,12 +1,9 @@ package io.quarkus.websockets.next; -import io.smallrye.common.annotation.Experimental; - /** * * @see TextMessageCodec */ -@Experimental("This API is experimental and may change in the future") public class TextEncodeException extends WebSocketException { private static final long serialVersionUID = 837621296462089705L; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TextMessageCodec.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TextMessageCodec.java index 2af590fb26733..35d3d29c438b9 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TextMessageCodec.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TextMessageCodec.java @@ -1,7 +1,5 @@ package io.quarkus.websockets.next; -import io.smallrye.common.annotation.Experimental; - /** * Used to encode and decode text messages. * @@ -27,7 +25,6 @@ * @param * @see OnTextMessage */ -@Experimental("This API is experimental and may change in the future") public interface TextMessageCodec extends MessageCodec { } diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocket.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocket.java index aa7b118a4d40b..8fba6bc5fcdc8 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocket.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocket.java @@ -9,8 +9,6 @@ import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Singleton; -import io.smallrye.common.annotation.Experimental; - /** * Denotes a WebSocket server endpoint. *

@@ -24,7 +22,6 @@ */ @Retention(RUNTIME) @Target(TYPE) -@Experimental("This API is experimental and may change in the future") public @interface WebSocket { /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketClient.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketClient.java index 77600575eb9cd..6c330982c5bc7 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketClient.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketClient.java @@ -9,8 +9,6 @@ import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Singleton; -import io.smallrye.common.annotation.Experimental; - /** * Denotes a WebSocket client endpoint. *

@@ -24,7 +22,6 @@ */ @Retention(RUNTIME) @Target(TYPE) -@Experimental("This API is experimental and may change in the future") public @interface WebSocketClient { /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketClientConnection.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketClientConnection.java index d6c11f3f5bccd..3dc6f0b35cd89 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketClientConnection.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketClientConnection.java @@ -1,14 +1,11 @@ package io.quarkus.websockets.next; -import io.smallrye.common.annotation.Experimental; - /** * This interface represents a client connection to a WebSocket endpoint. *

* Quarkus provides a CDI bean that implements this interface and can be injected in a {@link WebSocketClient} * endpoint and used to interact with the connected server. */ -@Experimental("This API is experimental and may change in the future") public interface WebSocketClientConnection extends Connection { /* diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketClientException.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketClientException.java index 50dd541d7c3b3..b7403d2809400 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketClientException.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketClientException.java @@ -1,8 +1,5 @@ package io.quarkus.websockets.next; -import io.smallrye.common.annotation.Experimental; - -@Experimental("This API is experimental and may change in the future") public class WebSocketClientException extends WebSocketException { private static final long serialVersionUID = -4213710383874397185L; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketConnection.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketConnection.java index 2f243fe7a6d4d..db93b579a31f2 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketConnection.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketConnection.java @@ -3,8 +3,6 @@ import java.util.Set; import java.util.function.Predicate; -import io.smallrye.common.annotation.Experimental; - /** * This interface represents a connection from a client to a specific {@link WebSocket} endpoint on the server. *

@@ -14,7 +12,6 @@ *

* Specifically, it is possible to send messages using blocking and non-blocking methods declared on {@link Sender}. */ -@Experimental("This API is experimental and may change in the future") public interface WebSocketConnection extends Connection { /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketConnector.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketConnector.java index 9a170e4f1431d..c278c50fe6a2e 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketConnector.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketConnector.java @@ -7,7 +7,6 @@ import jakarta.enterprise.inject.Instance; import io.smallrye.common.annotation.CheckReturnValue; -import io.smallrye.common.annotation.Experimental; import io.smallrye.mutiny.Uni; /** @@ -42,7 +41,6 @@ * @see WebSocketClient * @see WebSocketClientConnection */ -@Experimental("This API is experimental and may change in the future") public interface WebSocketConnector { /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketException.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketException.java index 340ff835c1b6d..999e95033426b 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketException.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketException.java @@ -1,8 +1,5 @@ package io.quarkus.websockets.next; -import io.smallrye.common.annotation.Experimental; - -@Experimental("This API is experimental and may change in the future") public class WebSocketException extends RuntimeException { private static final long serialVersionUID = 903932032264812404L; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketServerException.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketServerException.java index b4cd21e1c423b..b0bf896f118fe 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketServerException.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketServerException.java @@ -1,8 +1,5 @@ package io.quarkus.websockets.next; -import io.smallrye.common.annotation.Experimental; - -@Experimental("This API is experimental and may change in the future") public class WebSocketServerException extends WebSocketException { private static final long serialVersionUID = 815788270725783535L; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/BasicWebSocketConnectorImpl.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/BasicWebSocketConnectorImpl.java index d0897309d1211..2527148cccd09 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/BasicWebSocketConnectorImpl.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/BasicWebSocketConnectorImpl.java @@ -21,7 +21,7 @@ import io.quarkus.websockets.next.CloseReason; import io.quarkus.websockets.next.WebSocketClientConnection; import io.quarkus.websockets.next.WebSocketClientException; -import io.quarkus.websockets.next.WebSocketsClientRuntimeConfig; +import io.quarkus.websockets.next.runtime.config.WebSocketsClientRuntimeConfig; import io.smallrye.mutiny.Uni; import io.vertx.core.AsyncResult; import io.vertx.core.Context; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/Endpoints.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/Endpoints.java index 14c58ef313d79..349ccd7a75aff 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/Endpoints.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/Endpoints.java @@ -16,9 +16,9 @@ import io.quarkus.security.ForbiddenException; import io.quarkus.security.UnauthorizedException; import io.quarkus.websockets.next.CloseReason; -import io.quarkus.websockets.next.UnhandledFailureStrategy; import io.quarkus.websockets.next.WebSocketException; import io.quarkus.websockets.next.runtime.WebSocketSessionContext.SessionContextState; +import io.quarkus.websockets.next.runtime.config.UnhandledFailureStrategy; import io.quarkus.websockets.next.runtime.telemetry.ErrorInterceptor; import io.quarkus.websockets.next.runtime.telemetry.TelemetrySupport; import io.smallrye.mutiny.Multi; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/TrafficLogger.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/TrafficLogger.java index de977e0828936..11c7cd6258c1d 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/TrafficLogger.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/TrafficLogger.java @@ -9,8 +9,8 @@ import io.quarkus.websockets.next.HandshakeRequest; import io.quarkus.websockets.next.WebSocketClientConnection; import io.quarkus.websockets.next.WebSocketConnection; -import io.quarkus.websockets.next.WebSocketsClientRuntimeConfig; -import io.quarkus.websockets.next.WebSocketsServerRuntimeConfig; +import io.quarkus.websockets.next.runtime.config.WebSocketsClientRuntimeConfig; +import io.quarkus.websockets.next.runtime.config.WebSocketsServerRuntimeConfig; import io.vertx.core.buffer.Buffer; class TrafficLogger { diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketConnectorBase.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketConnectorBase.java index 754961b6c3492..cd37858a15a11 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketConnectorBase.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketConnectorBase.java @@ -18,7 +18,7 @@ import io.quarkus.tls.TlsConfigurationRegistry; import io.quarkus.tls.runtime.config.TlsConfigUtils; import io.quarkus.websockets.next.WebSocketClientException; -import io.quarkus.websockets.next.WebSocketsClientRuntimeConfig; +import io.quarkus.websockets.next.runtime.config.WebSocketsClientRuntimeConfig; import io.vertx.core.Vertx; import io.vertx.core.http.WebSocketClientOptions; import io.vertx.core.http.WebSocketConnectOptions; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketConnectorImpl.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketConnectorImpl.java index 3293fdb0c1b40..4b0b3b3624e22 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketConnectorImpl.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketConnectorImpl.java @@ -21,9 +21,9 @@ import io.quarkus.websockets.next.WebSocketClientConnection; import io.quarkus.websockets.next.WebSocketClientException; import io.quarkus.websockets.next.WebSocketConnector; -import io.quarkus.websockets.next.WebSocketsClientRuntimeConfig; import io.quarkus.websockets.next.runtime.WebSocketClientRecorder.ClientEndpoint; import io.quarkus.websockets.next.runtime.WebSocketClientRecorder.ClientEndpointsContext; +import io.quarkus.websockets.next.runtime.config.WebSocketsClientRuntimeConfig; import io.quarkus.websockets.next.runtime.telemetry.SendingInterceptor; import io.quarkus.websockets.next.runtime.telemetry.WebSocketTelemetryProvider; import io.smallrye.mutiny.Uni; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketHttpServerOptionsCustomizer.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketHttpServerOptionsCustomizer.java index 1ca59b18aec3a..c2d2a89b6b626 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketHttpServerOptionsCustomizer.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketHttpServerOptionsCustomizer.java @@ -6,7 +6,7 @@ import jakarta.inject.Inject; import io.quarkus.vertx.http.HttpServerOptionsCustomizer; -import io.quarkus.websockets.next.WebSocketsServerRuntimeConfig; +import io.quarkus.websockets.next.runtime.config.WebSocketsServerRuntimeConfig; import io.vertx.core.http.HttpServerOptions; @Dependent diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketServerRecorder.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketServerRecorder.java index 40f260b45079e..ddee52c2ad774 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketServerRecorder.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/WebSocketServerRecorder.java @@ -22,7 +22,7 @@ import io.quarkus.websockets.next.HttpUpgradeCheck.CheckResult; import io.quarkus.websockets.next.HttpUpgradeCheck.HttpUpgradeContext; import io.quarkus.websockets.next.WebSocketServerException; -import io.quarkus.websockets.next.WebSocketsServerRuntimeConfig; +import io.quarkus.websockets.next.runtime.config.WebSocketsServerRuntimeConfig; import io.quarkus.websockets.next.runtime.telemetry.SendingInterceptor; import io.quarkus.websockets.next.runtime.telemetry.WebSocketTelemetryProvider; import io.smallrye.common.vertx.VertxContext; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TelemetryConfig.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/TelemetryConfig.java similarity index 92% rename from extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TelemetryConfig.java rename to extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/TelemetryConfig.java index d6cd54480a720..e01abe1e6fa46 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TelemetryConfig.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/TelemetryConfig.java @@ -1,4 +1,4 @@ -package io.quarkus.websockets.next; +package io.quarkus.websockets.next.runtime.config; import io.smallrye.config.WithDefault; import io.smallrye.config.WithName; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TrafficLoggingConfig.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/TrafficLoggingConfig.java similarity index 91% rename from extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TrafficLoggingConfig.java rename to extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/TrafficLoggingConfig.java index 7411390eb6d9d..19b04f9f0cf2b 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/TrafficLoggingConfig.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/TrafficLoggingConfig.java @@ -1,4 +1,4 @@ -package io.quarkus.websockets.next; +package io.quarkus.websockets.next.runtime.config; import io.smallrye.config.WithDefault; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/UnhandledFailureStrategy.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/UnhandledFailureStrategy.java similarity index 88% rename from extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/UnhandledFailureStrategy.java rename to extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/UnhandledFailureStrategy.java index bb516d9602c18..e9f39cb131d76 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/UnhandledFailureStrategy.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/UnhandledFailureStrategy.java @@ -1,4 +1,4 @@ -package io.quarkus.websockets.next; +package io.quarkus.websockets.next.runtime.config; /** * The strategy used when an error occurs but no error handler can handle the failure. diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketsClientRuntimeConfig.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/WebSocketsClientRuntimeConfig.java similarity index 97% rename from extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketsClientRuntimeConfig.java rename to extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/WebSocketsClientRuntimeConfig.java index 4db5076d36cb6..2b5614984ec47 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketsClientRuntimeConfig.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/WebSocketsClientRuntimeConfig.java @@ -1,4 +1,4 @@ -package io.quarkus.websockets.next; +package io.quarkus.websockets.next.runtime.config; import java.time.Duration; import java.util.Optional; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketsServerRuntimeConfig.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/WebSocketsServerRuntimeConfig.java similarity index 98% rename from extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketsServerRuntimeConfig.java rename to extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/WebSocketsServerRuntimeConfig.java index cfd403b472468..62f4edcce37ed 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/WebSocketsServerRuntimeConfig.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/config/WebSocketsServerRuntimeConfig.java @@ -1,4 +1,4 @@ -package io.quarkus.websockets.next; +package io.quarkus.websockets.next.runtime.config; import java.time.Duration; import java.util.List; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/devui/WebSocketNextJsonRPCService.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/devui/WebSocketNextJsonRPCService.java index 64916971e4c3e..c780543e70da2 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/devui/WebSocketNextJsonRPCService.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/devui/WebSocketNextJsonRPCService.java @@ -18,9 +18,9 @@ import io.quarkus.vertx.http.runtime.HttpConfiguration; import io.quarkus.websockets.next.WebSocketConnection; -import io.quarkus.websockets.next.WebSocketsServerRuntimeConfig; import io.quarkus.websockets.next.runtime.ConnectionManager; import io.quarkus.websockets.next.runtime.ConnectionManager.ConnectionListener; +import io.quarkus.websockets.next.runtime.config.WebSocketsServerRuntimeConfig; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.operators.multi.processors.BroadcastProcessor; diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/telemetry/MetricsBuilderCustomizer.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/telemetry/MetricsBuilderCustomizer.java index 8989d711e4957..e867113d09e04 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/telemetry/MetricsBuilderCustomizer.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/telemetry/MetricsBuilderCustomizer.java @@ -18,9 +18,9 @@ import io.micrometer.core.instrument.Counter; import io.micrometer.core.instrument.Meter; import io.micrometer.core.instrument.MeterRegistry; -import io.quarkus.websockets.next.WebSocketsClientRuntimeConfig; -import io.quarkus.websockets.next.WebSocketsServerRuntimeConfig; import io.quarkus.websockets.next.runtime.WebSocketEndpoint; +import io.quarkus.websockets.next.runtime.config.WebSocketsClientRuntimeConfig; +import io.quarkus.websockets.next.runtime.config.WebSocketsServerRuntimeConfig; import io.quarkus.websockets.next.runtime.telemetry.TelemetryConstants.Direction; /** diff --git a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/telemetry/TracesBuilderCustomizer.java b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/telemetry/TracesBuilderCustomizer.java index f6780c9efb250..292df12befc17 100644 --- a/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/telemetry/TracesBuilderCustomizer.java +++ b/extensions/websockets-next/runtime/src/main/java/io/quarkus/websockets/next/runtime/telemetry/TracesBuilderCustomizer.java @@ -13,9 +13,9 @@ import io.opentelemetry.api.trace.Tracer; import io.quarkus.websockets.next.WebSocketClientConnection; import io.quarkus.websockets.next.WebSocketConnection; -import io.quarkus.websockets.next.WebSocketsClientRuntimeConfig; -import io.quarkus.websockets.next.WebSocketsServerRuntimeConfig; import io.quarkus.websockets.next.runtime.WebSocketEndpoint; +import io.quarkus.websockets.next.runtime.config.WebSocketsClientRuntimeConfig; +import io.quarkus.websockets.next.runtime.config.WebSocketsServerRuntimeConfig; /** * Installs traces support into the WebSockets extension. diff --git a/extensions/websockets-next/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/websockets-next/runtime/src/main/resources/META-INF/quarkus-extension.yaml index b04f00776f141..5a55dcfe951d3 100644 --- a/extensions/websockets-next/runtime/src/main/resources/META-INF/quarkus-extension.yaml +++ b/extensions/websockets-next/runtime/src/main/resources/META-INF/quarkus-extension.yaml @@ -11,6 +11,6 @@ metadata: categories: - "web" guide: https://quarkus.io/guides/websockets-next-reference - status: "experimental" + status: "stable" config: - "quarkus.websockets.next" \ No newline at end of file