[wildfly-dev] private packaging Javassist jar in Hibernate ORM, so applications can have their own Javassist jar...

Stuart Douglas stuart.w.douglas at gmail.com
Thu Feb 11 14:55:49 EST 2016


On Fri, 12 Feb 2016 at 06:42 James Perkins <jperkins at redhat.com> wrote:

> I don't recall the previous discussion, but is there a reason we couldn't
> just use a JBoss module with a different slot?
>

Nah, the issue is that these classes need to be referenced by the
deployment and hibernate, so whatever version hibernate uses has to be the
one exposed to the deployment.

Stuart


>
> On Thu, Feb 11, 2016 at 8:03 AM, Scott Marlow <smarlow at redhat.com> wrote:
>
>> As previously discussed, Hibernate applications need access to the
>> Javassist runtime classes (see example [1] enhanced application entity
>> if you didn't know this :).  A proposal was discussed on the
>> hibernate-dev mailing list that I think is the best short term solution.
>>   I wanted to raise this issue here also, as I would like to later
>> create a pull request to bring in a new Hibernate ORM that includes this
>> change.  So, getting early feedback before we create JIRAs for the work,
>> is important.
>>
>> The proposal is to private package (or shade), the Javassist classes, so
>> that Hibernate ORM has its own copy of the Javassist classes.  On
>> WildFly, we still would include Javassist for the other components that
>> use it and for Hibernate applications that have "build-time enhanced
>> entity classes" by an earlier Hibernate release.
>>
>> One downside of this change is that Hibernate applications cannot easily
>> switch to a different version of the Javassist classes.
>>
>> Another downside is that applications that depend on an older Hibernate
>> ORM version that includes "build-time enhanced entity classes", will
>> need to be cracked open, to add dependencies on the Javassist module
>> (since we will stop automatically adding Javassist to JPA application
>> deployments).
>>
>> The advantage of this change, is that Hibernate applications can include
>> their own version of Javassist.
>>
>> This will also have an impact on Hibernate build-time enhancing of
>> entity classes (e.g. enhanced bytecode will no longer depend on the
>> public Javassist classes).
>>
>> Scott
>>
>> [1] https://gist.github.com/scottmarlow/dc7ebfea654984f84e2e
>> _______________________________________________
>> wildfly-dev mailing list
>> wildfly-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>
>
>
>
> --
> James R. Perkins
> JBoss by Red Hat
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/wildfly-dev/attachments/20160211/117dfccd/attachment-0001.html 


More information about the wildfly-dev mailing list