From 99585765e2ffe6b4b74d8625583b5af14c0a23d6 Mon Sep 17 00:00:00 2001 From: Davide D'Alto Date: Fri, 16 Jun 2023 12:41:33 +0200 Subject: [PATCH] [#1668] Throw correct exception when onFlush is called onFlush is not reactive, reactiveOnFlush should be called instead. For this situations, with have a custom exception in the Logger: ``` throw LOG.nonReactiveMethodCall( "reactiveOnFlush" ); ``` --- .../event/impl/DefaultReactiveFlushEventListener.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/event/impl/DefaultReactiveFlushEventListener.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/event/impl/DefaultReactiveFlushEventListener.java index d850ce3e2..97043ed02 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/event/impl/DefaultReactiveFlushEventListener.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/event/impl/DefaultReactiveFlushEventListener.java @@ -13,9 +13,12 @@ import org.hibernate.event.spi.FlushEvent; import org.hibernate.event.spi.FlushEventListener; import org.hibernate.reactive.event.ReactiveFlushEventListener; +import org.hibernate.reactive.logging.impl.Log; import org.hibernate.reactive.session.ReactiveSession; import org.hibernate.stat.spi.StatisticsImplementor; +import static java.lang.invoke.MethodHandles.lookup; +import static org.hibernate.reactive.logging.impl.LoggerFactory.make; import static org.hibernate.reactive.util.impl.CompletionStages.voidFuture; /** @@ -24,6 +27,8 @@ public class DefaultReactiveFlushEventListener extends AbstractReactiveFlushingEventListener implements ReactiveFlushEventListener, FlushEventListener { + private static final Log LOG = make( Log.class, lookup() ); + @Override public CompletionStage reactiveOnFlush(FlushEvent event) throws HibernateException { final EventSource source = event.getSession(); @@ -59,6 +64,6 @@ else if ( ((ReactiveSession) source).getReactiveActionQueue().hasAnyQueuedAction @Override public void onFlush(FlushEvent event) throws HibernateException { - throw new UnsupportedOperationException(); + throw LOG.nonReactiveMethodCall( "reactiveOnFlush" ); } }