diff --git a/independent-projects/resteasy-reactive/common/runtime/src/main/java/org/jboss/resteasy/reactive/common/jaxrs/RuntimeDelegateImpl.java b/independent-projects/resteasy-reactive/common/runtime/src/main/java/org/jboss/resteasy/reactive/common/jaxrs/RuntimeDelegateImpl.java index 50bb0723098ad..efa84eb922653 100644 --- a/independent-projects/resteasy-reactive/common/runtime/src/main/java/org/jboss/resteasy/reactive/common/jaxrs/RuntimeDelegateImpl.java +++ b/independent-projects/resteasy-reactive/common/runtime/src/main/java/org/jboss/resteasy/reactive/common/jaxrs/RuntimeDelegateImpl.java @@ -3,10 +3,13 @@ import java.util.Date; import java.util.Locale; import java.util.ServiceLoader; +import java.util.concurrent.CompletionStage; +import jakarta.ws.rs.SeBootstrap; import jakarta.ws.rs.core.Application; import jakarta.ws.rs.core.CacheControl; import jakarta.ws.rs.core.Cookie; +import jakarta.ws.rs.core.EntityPart; import jakarta.ws.rs.core.EntityTag; import jakarta.ws.rs.core.Link; import jakarta.ws.rs.core.MediaType; @@ -115,4 +118,30 @@ public HeaderDelegate createHeaderDelegate(Class type) throws IllegalA public Link.Builder createLinkBuilder() { return new LinkBuilderImpl(); } + + @Override + public SeBootstrap.Configuration.Builder createConfigurationBuilder() { + // RR does not implement currently implement the bootstrapping API + throw new UnsupportedOperationException("Pending implementation"); + } + + @Override + public CompletionStage bootstrap(Application application, + SeBootstrap.Configuration configuration) { + // RR does not implement currently implement the bootstrapping API + throw new UnsupportedOperationException("Pending implementation"); + } + + @Override + public CompletionStage bootstrap(Class aClass, + SeBootstrap.Configuration configuration) { + // RR does not implement currently implement the bootstrapping API + throw new UnsupportedOperationException("Pending implementation"); + } + + @Override + public EntityPart.Builder createEntityPartBuilder(String s) throws IllegalArgumentException { + // TODO: figure out how to implement this + throw new UnsupportedOperationException("Pending implementation"); + } } diff --git a/independent-projects/resteasy-reactive/server/runtime/src/main/java/org/jboss/resteasy/reactive/server/jaxrs/SseBroadcasterImpl.java b/independent-projects/resteasy-reactive/server/runtime/src/main/java/org/jboss/resteasy/reactive/server/jaxrs/SseBroadcasterImpl.java index aa0c0f5c4d74a..b41366992d283 100644 --- a/independent-projects/resteasy-reactive/server/runtime/src/main/java/org/jboss/resteasy/reactive/server/jaxrs/SseBroadcasterImpl.java +++ b/independent-projects/resteasy-reactive/server/runtime/src/main/java/org/jboss/resteasy/reactive/server/jaxrs/SseBroadcasterImpl.java @@ -61,13 +61,20 @@ private void checkClosed() { } @Override - public synchronized void close() { + public void close() { + close(true); + } + + @Override + public synchronized void close(boolean cascading) { if (isClosed) return; isClosed = true; - for (SseEventSink sink : sinks) { - // this will in turn fire close events to our listeners - sink.close(); + if (cascading) { + for (SseEventSink sink : sinks) { + // this will in turn fire close events to our listeners + sink.close(); + } } }