[hibernate-dev] Question about Jandex composite indexes passed into via "hibernate.jandex_index" and whether ORM keeps a strong reference to Jandex indexes after deployment...

Scott Marlow smarlow at redhat.com
Wed Mar 18 15:24:02 EDT 2015



On 03/18/2015 02:56 PM, Scott Marlow wrote:
>
> On 03/18/2015 01:53 PM, Steve Ebersole wrote:
>> Out of curiosity though, since you want more and more and more things
>> pushed to "second phase bootstrapping", I am curious how this new
>> expectation plays in with that.  Specifically, us "using" Jandex will
>> certainly include us accessing classes, unless Jason has added the
>> expanded capabilities he and I have discussed to Jandex wrt accessing
>> Class members outside of the annotations they may or may not have.
>
> If we use the application classloader during the "first phase
> bootstrapping", entity class enhancement will not work (application
> classes will be loaded before they can be rewritten).  Classloading
> during the "first phase bootstrapping" with
> javax.persistence.spi.PersistenceUnitInfo.getNewTempClassLoader() would
> still work with entity class enhancement.

Jipijapa for ORM 4.1 is currently using the 
PersistenceUnitInfo.getNewTempClassLoader() [3] and that works well. 
Jason asked why we dropped using Jandex in our integration with ORM 4.3. 
  The 4.3 integration in Jipijapa is more elegant/better except it might 
not be as fast as using Jandex with 
org.hibernate.boot.archive.scan.spi.Scanner.

Should we look at switching Jipijapa back to 
org.hibernate.boot.archive.scan.spi.Scanner (so we can use Jandex) and 
remove Jandex from 4.3.x?

In the Jipijapa integration for ORM 5.0, should we use 
org.hibernate.boot.archive.scan.spi.Scanner so that we are using jandex?

[3] 
https://github.com/jipijapa/jipijapa/blob/master/hibernate4_1/src/main/java/org/jboss/as/jpa/hibernate4/HibernateAnnotationScanner.java#L167

>
>>
>> On Wed, Mar 18, 2015 at 12:49 PM, Steve Ebersole <steve at hibernate.org
>> <mailto:steve at hibernate.org>> wrote:
>>
>>      Massive.
>>
>>      On Wed, Mar 18, 2015 at 12:44 PM, Scott Marlow <smarlow at redhat.com
>>      <mailto:smarlow at redhat.com>> wrote:
>>
>>          On 03/18/2015 01:05 PM, Steve Ebersole wrote:
>>
>>              Well I should also clarify that currently we are not using
>>              Jandex.  That
>>              was all work done as part of the mapping/metamodel redesign
>>              which we
>>              decided to push to 6.0.
>>
>>
>>          I assume you mean the master (5.0) code base doesn't use Jandex
>>          but it looks like [2] in 4.3, is building/using the Jandex index.
>>
>>          How big of a change would it be to use Jandex (via
>>          "hibernate.jandex_index") in ORM 4.3/5.0 mapping?  Would be nice
>>          to have a comparison of how long it takes to deploy a large
>>          application with and without Jandex.
>>
>>          Scott
>>
>>          [2]
>>          https://github.com/hibernate/__hibernate-orm/blob/4.3/__hibernate-entitymanager/src/__main/java/org/hibernate/jpa/__boot/internal/__EntityManagerFactoryBuilderImp__l.java
>>          <https://github.com/hibernate/hibernate-orm/blob/4.3/hibernate-entitymanager/src/main/java/org/hibernate/jpa/boot/internal/EntityManagerFactoryBuilderImpl.java>
>>
>>
>>              On Wed, Mar 18, 2015 at 10:22 AM, Steve Ebersole
>>              <steve at hibernate.org <mailto:steve at hibernate.org>
>>              <mailto:steve at hibernate.org <mailto:steve at hibernate.org>>>
>>              wrote:
>>
>>                   I don't *think* we do, but it sounds like something we
>>              definitely
>>                   need to make sure we aren't doing.
>>
>>                   On Mar 17, 2015 8:41 AM, "Scott Marlow"
>>              <smarlow at redhat.com <mailto:smarlow at redhat.com>
>>                   <mailto:smarlow at redhat.com
>>              <mailto:smarlow at redhat.com>>> wrote:
>>
>>                       Steve,
>>
>>                       Wildfly-dev [1] brings up a change expected for
>>              WildFly 10, to not
>>                       reference the Jandex indexes after deployment
>>              completes.  I'm
>>                       curious if
>>                       our current/planned ORM 5.0 jandex using code,
>>              keeps a reference
>>                       to the
>>                       passed in "hibernate.jandex_index"?
>>
>>                       How how hard would it be for ORM, to only reference the
>>                       composite Jandex
>>                       index during application deployment time?
>>              Deployment time ends when
>>
>>              PersistenceProvider.__createContainerEntityManagerFa__ctory() returns.
>>
>>                       Scott
>>
>>                       [1]
>>              http://lists.jboss.org/__pipermail/wildfly-dev/2015-__March/003679.html
>>              <http://lists.jboss.org/pipermail/wildfly-dev/2015-March/003679.html>
>>                       _________________________________________________
>>                       hibernate-dev mailing list
>>              hibernate-dev at lists.jboss.org
>>              <mailto:hibernate-dev at lists.jboss.org>
>>              <mailto:hibernate-dev at lists.__jboss.org
>>              <mailto:hibernate-dev at lists.jboss.org>>
>>              https://lists.jboss.org/__mailman/listinfo/hibernate-dev
>>              <https://lists.jboss.org/mailman/listinfo/hibernate-dev>
>>
>>
>>
>>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>


More information about the hibernate-dev mailing list