Uploaded image for project: 'Spring Framework'
  1. Spring Framework
  2. SPR-10856

Detect LoadTimeWeaver bean when declared through @Bean method as well


    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Complete
    • Affects Version/s: 3.2.4, 4.0 M2
    • Fix Version/s: 4.3 RC2
    • Component/s: Core
    • Labels:
    • Last commented by a User:


      This may be a Java-config problem only. I haven't tried it with XML config.

      I'm configuring a LocalContainerEntityManagerFactoryBean, and I want to enable load time weaving. @EnableLoadTimeWeaving works (I see in the log that it found addTransformer on the ClassLoader and created a load time weaver), but setLoadTimeWeaver is never called on the LocalContainerEntityManagerFactoryBean.

      LocalContainerEntityManagerFactoryBean implements LoadTimeWeaverAware, so my (possibly incorrect) assumption was that Spring should set the LoadTimeWeaver property, but it does not. If my assumption was incorrect, the documentation should be updated to indicate that you must call this method manually. If my assumption was correct, there is a bug here, because Spring is not calling this method.

      Instead, I have to do this in my configuration:

      public class RootContextConfiguration
          @Inject LoadTimeWeaver loadTimeWeaver;
          public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean()
              LocalContainerEntityManagerFactoryBean factory =
                      new LocalContainerEntityManagerFactoryBean();
              return factory;

      That code works. The LoadTimeWeaver is injected and I successfully add it to my factory, then the JPA provider starts instrumenting my classes. However, without this the LoadTimeWeaver is never added to the LocalContainerEntityManagerFactoryBean and the JPA provider cannot instrument my classes.


          Issue Links



              • Assignee:
                juergen.hoeller Juergen Hoeller
                guitarking117 Nick Williams
                Last updater:
                Spring Issuemaster
              • Votes:
                9 Vote for this issue
                14 Start watching this issue


                • Created:
                  Days since last comment:
                  17 weeks, 6 days ago