>> does your code maybe bring in the 2.0 jakarta spec jar?

I do have :

jakarta.transaction-api-2.0.1.jar

which comes from hibernate-core 6.3.1.Final.



###############

Using eclipse here are the errors

The project was not built since its build path is incomplete. Cannot find the class file for jakarta.transaction.Synchronization. Fix the build path then try building this project

The type jakarta.transaction.Synchronization cannot be resolved. It is indirectly referenced from required type org.hibernate.context.internal.ThreadLocalSessionContext.CleanupSync


Here is the class that won't compile

public class ThreadLocalSessionContextNoAutoClose
        extends ThreadLocalSessionContext {

    private static final long serialVersionUID = -9220338553393731611L;

    /**
     * Create a new instance.
     *
     * @param factory The <code>SessionFactoryImplementor</code> required by the
     *                super constructor.
     */
    public ThreadLocalSessionContextNoAutoClose(
            SessionFactoryImplementor factory) {
        super(factory);
    }

    /**
     * Returns <code>false</code> to prevent auto closing.
     *
     * @return <code>false</code> to prevent auto closing.
     */
    protected boolean isAutoCloseEnabled() {
        return false;
    }

    /**
     * Returns <code>false</code> to prevent auto flushing.
     *
     * @return <code>false</code> to prevent auto flushing.
     */
    protected boolean isAutoFlushEnabled() {
        return false;
    }

    /**
     * Uses <code>super.buildOrObtainSession()</code>, then sets the resulting
     * <code>Session</code>'s flush mode to <code>FlushMode.NEVER</code> to
     * prevent auto-flushing.
     *
     * @return A session configured with <code>FlushMode.NEVER</code>.
     */
    protected Session buildOrObtainSession() {
        Session s = super.buildOrObtainSession();
        s.setHibernateFlushMode(FlushMode.MANUAL);
        return s;
    }

    /**
     * Returns an instance of <code>CleanupSynch</code> which prevents auto
     * closing and unbinding.
     *
     * @return A <code>CleanupSynch</code> which prevents auto closing and
     *         unbinding.
     */
    protected CleanupSync buildCleanupSynch() {
        return new NoCleanupSynch(factory());
    }

    /**
     * A simple extension of <code>CleanupSynch</code> that prevents any cleanup
     * from happening. No session closing or unbinding.
     */
    private static class NoCleanupSynch
            extends ThreadLocalSessionContext.CleanupSync {

        private static final long serialVersionUID = -6191453375299821467L;

        /**
         * Creates a new instance based on the given factory.
         *
         * @param factory The required <code>SessionFactory</code> that is
         *                passed to the super constructor.
         */
        public NoCleanupSynch(SessionFactory factory) {
            super(factory);
        }

        /**
         * Does nothing, thus helping to prevent session closing and/or
         * unbinding.
         */
        public void beforeCompletion() {
            // do nothing
        }

        /**
         * Does nothing, thus helping to prevent session closing and/or
         * unbinding.
         *
         * @param i
         */
        public void afterCompletion(int i) {
            // do nothing
        }
    }

}

Thanks.

On 24/09/2023 20:34, Phil Steitz wrote:
On Sun, Sep 24, 2023 at 10:28 AM Greg Huber<gregh3...@gmail.com>  wrote:

Forgot to add, I use hibernate 6.

I suspect this is a side effect of the change to use the jakarta spec jar

In 2.10, we have

<dependency>
     <groupId>jakarta.transaction</groupId>
     <artifactId>jakarta.transaction-api</artifactId>
     <version>1.3.1</version>
</dependency>

vs

<dependency>
       <groupId>org.apache.geronimo.specs</groupId>
       <artifactId>geronimo-jta_1.1_spec</artifactId>
       <version>1.1.1</version>
       <optional>true</optional>
</dependency>

in 2.9.  What I don't get is where Greg's code is picking
up jakarta.transaction.Synchronization because the jakarta version we
"upgraded" to still exports the javax classes and these are what dbcp
uses.  Greg - does your code maybe bring in the 2.0 jakarta spec jar?

Phil


Cheers.

On Sun, 24 Sept 2023 at 12:49, Gary Gregory<garydgreg...@gmail.com>
wrote:

What else has changed in your app?

Gary

On Sun, Sep 24, 2023 at 5:13 AM Greg Huber<gregh3...@gmail.com>  wrote:
Hello,

On upgrading from 2.9.0 I get this message and my class won't compile.

I get this error

The type jakarta.transaction.Synchronization cannot be resolved. It is
indirectly referenced from required type
org.hibernate.context.internal.ThreadLocalSessionContext.CleanupSync

I am on :

openjdk version "11.0.19" 2023-04-18 LTS
OpenJDK Runtime Environment Zulu11.64+19-CA (build 11.0.19+7-LTS)
OpenJDK 64-Bit Server VM Zulu11.64+19-CA (build 11.0.19+7-LTS, mixed
mode)
Not too sure what I need to do to fix this.

Cheers

On 03/09/2023 22:51, Gary Gregory wrote:
The Apache Commons DBCP team is pleased to announce the release of
Apache Commons DBCP 2.10.0.

Apache Commons DBCP software implements Database Connection Pooling.

This is a minor release, including bug fixes and enhancements:

https://commons.apache.org/proper/commons-dbcp/changes-report.html#a2.10.0
For complete information on Apache Commons DBCP, including
instructions on how to submit bug reports, patches, or suggestions
for
improvement, see the Apache Commons DBCP website:

https://commons.apache.org/dbcp/

Download page:https://commons.apache.org/dbcp/download_dbcp.cgi

Gary Gregory
Apache Commons

---------------------------------------------------------------------
To unsubscribe, e-mail:user-unsubscr...@commons.apache.org
For additional commands, e-mail:user-h...@commons.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail:user-unsubscr...@commons.apache.org
For additional commands, e-mail:user-h...@commons.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail:user-unsubscr...@commons.apache.org
For additional commands, e-mail:user-h...@commons.apache.org

Reply via email to