Hi Ove

ActiveEntityManagerHolder gets populated in a Data module repository so the
TXStrategy can use the same EntityManager as the repository. EMs with
qualifiers have to be resolved there slightly different, see
http://deltaspike.apache.org/documentation/data.html#_using_multiple_code_entitymanager_code

Cheers,
Thomas


On Mon, Mar 2, 2015 at 8:54 AM, Ove Ranheim <oranh...@gmail.com> wrote:

> Hi Gerhard,
>
> Please have a look at this Gist:
> https://gist.github.com/oranheim/97e65c33ef1ed58fdcac <
> https://gist.github.com/oranheim/97e65c33ef1ed58fdcac>
>
> The reason for the exception below, was due to wrong JNDI lookup in
> BeanManagedUserTransactionStrategy. Now that I’ve fixed that, it turns out
> BeanManagedUserTransactionStrategy#resolveEntityManagerForQualifier is not
> able to resolve my EntityManager.
>
> I made a simple test to check if ActiveEntityManagerHolder is able to
> resolve my @Inject @PartsRepository EntityManager. When the EM is
> injectedon the test case it works. But not in the
> BeanManagedUserTransactionStrategy#resolveEntityManagerForQualifier,
> because ActiveEntityManagerHolder.get() returns null.
>
> Is something wrong with my EntityManager producer (see gist)?
>
> Br, Ove
>
>
> > On 02 Mar 2015, at 00:05, Gerhard Petracek <gerhard.petra...@gmail.com>
> wrote:
> >
> > hi ove,
> >
> > please provide more details about your setup.
> >
> > regards,
> > gerhard
> >
> >
> >
> > 2015-03-01 23:47 GMT+01:00 Ove Ranheim <oranh...@gmail.com>:
> >
> >> Hi,
> >>
> >> I’m get an error when I try to enable the
> >> BeanManagedUserTransactionStrategy in beans.xml.
> >>
> >> Any ideas?
> >>
> >> Ove
> >>
> >> org.jboss.weld.exceptions.DeploymentException: WELD-001422: Enabled
> >> alternative
> >>
> <class>org.apache.deltaspike.jpa.impl.transaction.BeanManagedUserTransactionStrategy</class>
> >> in
> >>
> file:/.../parts-backend/persistence/impl/target/test-classes/META-INF/beans.xml@19
> >> is not an alternative
> >>        at
> >>
> org.jboss.weld.bootstrap.Validator.validateEnabledAlternativeClasses(Validator.java:725)
> >>        at
> >>
> org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:483)
> >>        at
> >> org.jboss.weld.bootstrap.WeldStartup.validateBeans(WeldStartup.java:437)
> >>        at
> >>
> org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:90)
> >>        at org.jboss.weld.environment.se.Weld.initialize(Weld.java:151)
> >>        at
> >>
> org.apache.deltaspike.cdise.weld.WeldContainerControl.boot(WeldContainerControl.java:65)
> >>        at
> >>
> org.apache.deltaspike.cdise.weld.WeldContainerControl.boot(WeldContainerControl.java:73)
> >>        at
> >>
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ContainerAwareTestContext.applyBeforeClassConfig(CdiTestRunner.java:462)
> >>        at
> >>
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$BeforeClassStatement.evaluate(CdiTestRunner.java:365)
> >>        at
> >>
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$AfterClassStatement.evaluate(CdiTestRunner.java:392)
> >>        at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
> >>        at
> >>
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner.run(CdiTestRunner.java:141)
> >>        at
> >>
> com.parts.mock.undertow.api.PartsTestRunner.run(PartsTestRunner.java:154)
> >>        at org.junit.runners.Suite.runChild(Suite.java:128)
> >>        at org.junit.runners.Suite.runChild(Suite.java:24)
> >>        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
> >>        at
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
> >>        at
> >> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
> >>        at
> org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
> >>        at
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
> >>        at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
> >>        at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
> >>        at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
> >>        at
> >>
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:141)
> >>        at
> >>
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:114)
> >>        at
> >>
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:86)
> >>        at
> >>
> org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:134)
> >>        at
> >>
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
> >>        at
> >>
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
> >>        at
> >>
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
> >>
> >>
> >>
>
>

Reply via email to