On 02/03/2016 10:11 AM, Scott Marlow wrote:
On 02/03/2016 09:01 AM, Steve Ebersole wrote:
> I should point out... The big drawback with that (and with cloning in
> general since its the Javassist package renaming that is important in
> both) is that its no longer a simple matter update (bug-fixes, etc)
> Javassist usage in Hibernate. Its certainly no longer simple as in
> drop-in the replacement from upstream.
True, many users like to workaround Javassist issues by dropping a
different Javassist version in.
My vote is to change Hibernate to include its own Hibernate-Javassist
(shaded or whatever repackaging tricks are needed) jar.
Some recent cases that I have heard of users needing to use a different
version of Javassist with Hibernate were:
A. On certain application servers that included an older Javassist jar
that an upgraded Hibernate ORM release was not compatible with the older
Javassist jar. With a shaded Hibernate-javassist jar, we wouldn't have
any conflicts between the Hibernate use of Javassist and the
javassist.jar file (since users would have a separate global
hibernate-javassist jar).
B. Users needing to use some later release of Javassist to address a
bug that they experienced with Hibernate's use of Javassist. I think
that these users will need to upgrade to a later version of Hibernate to
use the newer Javassist.
Scott
>
> On Wed, Feb 3, 2016 at 7:58 AM Steve Ebersole <steve(a)hibernate.org
> <mailto:steve@hibernate.org>> wrote:
>
> Just as a suggestion, we do not need to go to a "full on" clone for
> your (1). A fat-jar, shaded-jar, <your favorite plugin here> should
> also do the trick.
>
>
> On Wed, Feb 3, 2016 at 7:54 AM Scott Marlow <smarlow(a)redhat.com
> <mailto:smarlow@redhat.com>> wrote:
>
> As modular classloading environments become more popular (e.g.
> WildFly,
> OSGi, Openjdk Jigsaw), it is more important that applications can
> include their own version of Javassist classes. This is not
> possible if
> the application classpath also needs to include the Hibernate
> (needed)
> version of Javassist.
>
> My question is how would/should this be accomplished? Some
> proposals
> are below:
>
> 1. Clone the Javassist runtime classes into Hibernate ORM and
> maintain
> them as a fork. I don't think this is practical but still wanted to
> mention it as a possible solution.
>
> 2. Stop using the parts of the Javassist api that generate bytecode
> that depends on the Javassist runtime classes. I have no idea
> how hard
> this would be.
>
> I don't think we have a jira for this yet, although we have
> talked about
> it occasionally for years.
>
> Any volunteers to help?
>
> Scott
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev(a)lists.jboss.org <mailto:hibernate-dev@lists.jboss.org>
>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
_______________________________________________
hibernate-dev mailing list
hibernate-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev