Uploaded image for project: 'Aries'
  1. Aries
  2. ARIES-1715

Blueprint doesn't apply interceptors for the init-method.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Not A Bug
    • blueprint-core-1.8.2, blueprint-core-1.8.0
    • None
    • Blueprint
    • None

    Description

      Trying to use an injected entity manager in an init-method results in the following exception:

      2017-04-12T18:10:24,453 | ERROR | Blueprint Extender: 3 | BlueprintContainerImpl           | 12 - org.apache.aries.blueprint.core - 1.8.0 | Unable to start blueprint container for bundle abc.pcta-test/1.0.0.SNAPSHOT
      org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to initialize bean testBean
      	at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:738) [12:org.apache.aries.blueprint.core:1.8.0]
      	at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:848) [12:org.apache.aries.blueprint.core:1.8.0]
      	at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811) [12:org.apache.aries.blueprint.core:1.8.0]
      	at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79) [12:org.apache.aries.blueprint.core:1.8.0]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
      	at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88) [12:org.apache.aries.blueprint.core:1.8.0]
      	at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255) [12:org.apache.aries.blueprint.core:1.8.0]
      	at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186) [12:org.apache.aries.blueprint.core:1.8.0]
      	at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:725) [12:org.apache.aries.blueprint.core:1.8.0]
      	at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:412) [12:org.apache.aries.blueprint.core:1.8.0]
      	at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:277) [12:org.apache.aries.blueprint.core:1.8.0]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
      	at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106) [12:org.apache.aries.blueprint.core:1.8.0]
      	at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48) [12:org.apache.aries.blueprint.core:1.8.0]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:?]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:?]
      	at java.lang.Thread.run(Thread.java:745) [?:?]
      Caused by: java.lang.IllegalStateException: Need active coordination
      	at org.apache.aries.jpa.support.impl.EMSupplierImpl.get(EMSupplierImpl.java:81) ~[?:?]
      	at org.apache.aries.jpa.support.osgi.impl.EmProxy.invoke(EmProxy.java:38) ~[?:?]
      	at com.sun.proxy.$Proxy80.persist(Unknown Source) ~[?:?]
      	at Proxya9d42525_1701_4ce9_bbc8_809ae15cb353.persist(Unknown Source) ~[?:?]
      	at abc.pcta_test.TestBean.init(TestBean.java:28) ~[?:?]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
      	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
      	at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299) ~[?:?]
      	at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980) ~[?:?]
      	at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:736) ~[?:?]
      	... 21 more
      

      The following example bundle can be used to reproduce it: https://github.com/Smasherr/postconstruct-transactional-test

      Attachments

        Activity

          People

            alien11689 Dominik Przybysz
            soundcracker@gmail.com Daniel Estermann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: