On Tue, Sep 26, 2023 at 4:50 AM Gary Gregory <garydgreg...@gmail.com> wrote:
> (Let's stop high jacking the announcement thread.) > Agreed. Sorry about that. > > In the future, FYI, I plan on supporting both Java and Jakarta by splitting > DBCP into a multi-module Maven project. I'm not sure exactly when but it's > on my to do list. > That sounds good. But we may need to do something before that to restore backward compatibility (if there is in fact a problem). The build error that Greg reports below is somehow related to the Commons Parent 62 version. If I back rev Commons Parent to version 60 and revert the JTA spec jar change (per below), the build works. (Greg - can you try that - just change Commons Parent version to 60 along with the change below). Alternatively, maybe there is some other workaround to avoid the conflict that Greg is reporting. I am not sure if there is in fact a backward compat issue here. Any better ideas? One more thing is the EPL/GPL license on the Jakarta jars. Have these been cleared for use (as dependencies) in ASF projects? Do we need some kind of notice for this? Phil > > Gary > > > > On Tue, Sep 26, 2023, 5:00 AM Greg Huber <gregh3...@gmail.com> wrote: > > > If I am understanding this correctly, I replace > > > > <!-- For managed connections --> > > <dependency> > > <groupId>jakarta.transaction</groupId> > > <artifactId>jakarta.transaction-api</artifactId> > > <version>1.3.1</version> > > </dependency> > > > > with > > > > <dependency> > > <groupId>org.apache.geronimo.specs</groupId> > > <artifactId>geronimo-jta_1.1_spec</artifactId> > > <version>1.1.1</version> > > <optional>true</optional> > > </dependency> > > > > in the source of 2.10.0 pom.xml and then mvn clean package. > > > > I get this error > > > > [ERROR] Failed to execute goal > > org.moditect:moditect-maven-plugin:1.0.0.Final:add-module-info > > (add-module-infos) on project commons-dbcp2: Execution add-module-infos > > of goal org.moditect:moditect-maven-plugin:1.0.0.Final:add-module-info > > failed: No assignedModuleName provided for jar with invalid module name: > > > ~/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-jta_1.1_spec-1.1.1.jar > > > > -> [Help 1] > > > > ##### > > > > > > I did a diff of my apps /lib folder between the 2.10.0 and 2.9.0 > > > > Only in ~/downloads/commons-dbcp2-2.10.0-src/target/lib.9: > > commons-dbcp2-2.9.0.jar > > Only in ~/downloads/commons-dbcp2-2.10.0-src/target/lib.10: > > commons-dbcp2-2.10.0.jar > > > > Only in ~/downloads/commons-dbcp2-2.10.0-src/target/lib.9: > > commons-pool2-2.10.0.jar > > Only in ~/downloads/commons-dbcp2-2.10.0-src/target/lib.10: > > commons-pool2-2.11.1.jar > > > > Only in ~/downloads/commons-dbcp2-2.10.0-src/target/lib.9: > > jakarta.transaction-api-2.0.1.jar > > Only in ~/downloads/commons-dbcp2-2.10.0-src/target/lib.10: > > jakarta.transaction-api-1.3.1.jar > > > > > > If I copy lib.9: jakarta.transaction-api-2.0.1.jar to replace the > > lib.10: jakarta.transaction-api-1.3.1.jar class > > ThreadLocalSessionContextNoAutoClose compiles and works. > > > > Cheers Greg > > > > On 25/09/2023 18:49, Phil Steitz wrote: > > > Thanks, Greg. I assume that dependency was there and working with DBCP > > > 2.9, correct? > > > > > > Can you try reverting the pom change above, replacing the > > > Jakarta transactions reference with > > > > > > <dependency> > > > <groupId>org.apache.geronimo.specs</groupId> > > > <artifactId>geronimo-jta_1.1_spec</artifactId> > > > <version>1.1.1</version> > > > <optional>true</optional> > > > </dependency> > > > > > > Then recompile DBCP from 2.10 sources and test (just use mvn clean > > package > > > from the root of an extract of the source distribution). > > > > > > Phil > > > > > > On Mon, Sep 25, 2023 at 12:44 AM Greg Huber <gregh3...@gmail.com> > wrote: > > > > > >> >> 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 > > >>>>> > > >>>>> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: user-unsubscr...@commons.apache.org > > For additional commands, e-mail: user-h...@commons.apache.org > > > > >