Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Method for detecting if Session is open? #1780

Open
noobgramming opened this issue Oct 26, 2023 · 1 comment
Open

Method for detecting if Session is open? #1780

noobgramming opened this issue Oct 26, 2023 · 1 comment

Comments

@noobgramming
Copy link

Hello!
I'm writing some DAO-like code and want to ensure a Session is already open when it's called. But Hibernate Reactive doesn't expose a getCurrentSession() on SessionFactory

Mutiny SessionFactory already checks for this internally, but doesn't expose access

Mutiny Code:

		Mutiny.Session current = context.get( contextKeyForSession );
		if ( current != null && current.isOpen() ) {
			LOG.debug( "Reusing existing open Mutiny.Session which was found in the current Vert.x context" );
			return work.apply( current );
		}
		else {
			LOG.debug( "No existing open Mutiny.Session was found in the current Vert.x context: opening a new instance" );
			return withSession( openSession(), work, contextKeyForSession );
		}

Can we add something that allows you to fetch current session (if one is in progress), or at least check if a Session is already open?

@gavinking
Copy link
Member

You can just call withSession(). Please refer to the Javadoc:

		/**
		 * Perform work using a {@link Session reactive session}.
		 * <p>
		 * <il>
		 * <li>If there is already a session associated with the current
		 * reactive stream, then the work will be executed using that
		 * session.
		 * <li>Otherwise, if there is no session associated with the
		 * current stream, a new session will be created.
		 * </il>
		 * <p>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants