diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/logging/impl/Log.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/logging/impl/Log.java index c2ec4cf3b..08dc5c1b4 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/logging/impl/Log.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/logging/impl/Log.java @@ -32,6 +32,10 @@ public interface Log extends BasicLogger { @Message(id = 1, value = "Hibernate Reactive") void startHibernateReactive(); + @LogMessage(level = INFO) + @Message(id = 2, value = "Vert.x not detected, creating a new instance") + void creatingVertxInstance(); + @LogMessage(level = INFO) @Message(id = 11, value = "SQL Client URL [%1$s]") void sqlClientUrl(String url); diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/vertx/impl/DefaultVertxInstance.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/vertx/impl/DefaultVertxInstance.java index 91cf467c1..8bf81fb9e 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/vertx/impl/DefaultVertxInstance.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/vertx/impl/DefaultVertxInstance.java @@ -21,39 +21,43 @@ * demand and destroyed automatically along with the Hibernate * {@link org.hibernate.SessionFactory#close() session factory}. * - * @see ProvidedVertxInstance if you need to a different instance - * * @author Sanne Grinovero + * @see ProvidedVertxInstance if you need to a different instance */ public final class DefaultVertxInstance implements VertxInstance, Stoppable, Startable { - private static final Log LOG = LoggerFactory.make( Log.class, MethodHandles.lookup() ); - - private Vertx vertx; - private boolean vertxCreator; - - @Override - public Vertx getVertx() { - if ( vertx == null ) { - throw LOG.serviceNotInitialized(); - } - return vertx; - } - - @Override - public void stop() { - if ( vertxCreator && vertx != null ) { - vertx.close().toCompletionStage().toCompletableFuture().join(); - } - } - - @Override - public void start() { - final Context context = Vertx.currentContext(); - vertxCreator = context == null || context.owner() == null; - vertx = vertxCreator - ? Vertx.vertx() // Create a new one - : context.owner(); // Get the existing one - } + private static final Log LOG = LoggerFactory.make( Log.class, MethodHandles.lookup() ); + + private Vertx vertx; + private boolean vertxCreator; + + @Override + public Vertx getVertx() { + if ( vertx == null ) { + throw LOG.serviceNotInitialized(); + } + return vertx; + } + + @Override + public void stop() { + if ( vertxCreator && vertx != null ) { + vertx.close().toCompletionStage().toCompletableFuture().join(); + } + } + + @Override + public void start() { + final Context context = Vertx.currentContext(); + vertxCreator = context == null || context.owner() == null; + if ( vertxCreator ) { + LOG.creatingVertxInstance(); + vertx = Vertx.vertx(); + } + else { + LOG.debugf( "Vert.x instance detected" ); + vertx = context.owner(); + } + } }