For DBCP, it basically boils down to

BasicManagedDataSource.java
DataSourceXAConnectionFactory.java
LocalXAConnectionFactory.java
SynchronizationAdapter.java
TransactionContext.java
TransactionRegistry.java

Looking at these classes, the move to jakarta definitley affects binary
compatibility as we have changes in return types / arguments of public
methods. Given that it breaks binary compatibility, we could even
increase the java level to 11 and drop deprecated things in a potential
dbcp 3.

In the end, I am happy with everything, which brings DBCP into the
Jakarta world ;)

If we have consensus for a route, I am happy to work on it / make it
happen via related PRs but would need some guideance on the best way to
move forward. 

Gruß
Richard

Am Freitag, dem 16.12.2022 um 20:56 +0100 schrieb Romain Manni-Bucau:
> If not done in new classes (both can live in the same lib
> technically),
> sadly yes.
> 
> Le ven. 16 déc. 2022 à 20:14, Richard Zowalla <rich...@zowalla.com> a
> écrit :
> 
> > Thanks for your replies.
> > 
> > I guess, that switching the namespace leads to binary
> > incompatibility (If
> > I take the definition from [1]). I cannot drop it in a running JVM
> > / app
> > and expect no issues with it as the related APIs are breaking
> > namespace
> > changes (at least at runtime if they aren't present) :-)
> > 
> > Aside from that fact, method signatures might also change from
> > javax ->
> > jakarta, which would require a short investigation and usage of the
> > existing tooling to see if this happens.
> > 
> > From a commons point of view that would mean to go for dbcp3,
> > right?
> > 
> > Gruß
> > Richard
> > 
> > [1]
> > https://garygregory.wordpress.com/2020/06/14/how-we-handle-binary-compatibility-at-apache-commons/
> > 
> > Am 16. Dezember 2022 15:53:53 MEZ schrieb Mark Thomas
> > <ma...@apache.org>:
> > > On 16/12/2022 13:24, Gary Gregory wrote:
> > > > Thank you Richard for starting this thread.
> > > > 
> > > > My view is simpler perhaps: I would not make this about the
> > > > javax vs
> > > > Jakarta namespaces.
> > > > 
> > > > I don't want to double the numbers of jars we produce from the
> > > > same
> > branch
> > > > for affected components as one of the scheme proposed. It feels
> > > > like a
> > > > burden to maintenance moving forward and a very brittle process
> > > > with
> > some
> > > > unforeseen side effects.
> > > > 
> > > > This is just a code change IMO. For a given component, either
> > > > it is
> > binary
> > > > compatible, or it is not. You don't know until you try it and
> > > > see if
> > public
> > > > and protected elements break, using our existing configuration
> > > > of Maven
> > and
> > > > japicmp (or revapi).
> > > > 
> > > > If it is binary compatible, then let's consider making the
> > > > change. If
> > not,
> > > > then do it in a major version, where the previous major version
> > > > is
> > > > maintained as we do now, as need be.
> > > > 
> > > > A new major version also benefits from the usual dropping of
> > > > deprecated
> > > > elements and making any other changes with seem reasonable.
> > > 
> > > +1. I don't see this as any different to increasing the minimum
> > > version
> > of Java and supported new JDBC methods.
> > > 
> > > Mark
> > > 
> > > -----------------------------------------------------------------
> > > ----
> > > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> > > For additional commands, e-mail: dev-h...@commons.apache.org
> > > 
> > 


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

Reply via email to