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

Fernando Nasser fnasser at redhat.com
Thu Feb 11 14:59:21 EST 2016


On 2016-02-11 2:55 PM, Stuart Douglas wrote:
>
>
> On Fri, 12 Feb 2016 at 06:42 James Perkins <jperkins at redhat.com 
> <mailto: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.
Can't we require that that alternative module is specified as a 
dependency for the hibernate deployments?

It does put the onus on the user but we already end up having to specify 
a few things for hibernate anyway.

Fernando


>
> Stuart
>
>
>     On Thu, Feb 11, 2016 at 8:03 AM, Scott Marlow <smarlow at redhat.com
>     <mailto: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 <mailto: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 <mailto:wildfly-dev at lists.jboss.org>
>     https://lists.jboss.org/mailman/listinfo/wildfly-dev
>
>
>
> _______________________________________________
> 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/8b91eca8/attachment.html 


More information about the wildfly-dev mailing list