+1, what about simply using openejb with the built-in CXF? Do you need something special from Jersey?
LieGrue, strub > On Tuesday, 16 August 2016, 15:00, Gerhard Petracek > <[email protected]> wrote: > > hi remo, > > if you would like to stick with tomee/openejb as well as with jersey, you > need a setup which integrates jersey with owb like jersey-weld2-se is doing > it with weld (or jersey with the cdi 1.1+ api) or you need a setup which > integrates tomee/openejb with jersey. > > the last time i looked at jersey, only the out-of-the-box integration with > weld worked as expected. > -> if jersey still doesn't provide a better out-of-the-box integration > (based on the cdi 1.1+ api or with owb directly), you need to contact one > of the two communities (tomee or jersey) or replace one of the parts. > > regards, > gerhard > > > > > 2016-08-16 10:03 GMT+02:00 Remo Meier <[email protected]>: > >> Hi >> >> I attempt to get get the Jersey integration running together with >> Deltaspike, OpenEJB and Test Control according to the documentation at the >> bottom of the page here: >> >> https://deltaspike.apache.org/documentation/test-control.html >> >> Not working so far is the injection of CDI beans into JAX-RS resources. >> The resulting exceptions look like like: >> >> MultiException stack 1 of 1 >> org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object >> available for injection at SystemInjecteeImpl(requiredTyp >> e=EntityManagerFactory,parent=KatharsisMgmtFeature,qualifier >> > s={},position=-1,optional=false,self=false,unqualified=null,1475912655) >> at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThir >> tyResolver.java:75) >> at org.jvnet.hk2.internal.Utilities.justInject(Utilities.java:945) >> at org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLoca >> torImpl.java:979) >> at org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitializ >> e(ServiceLocatorImpl.java:1054) >> at org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitializ >> e(ServiceLocatorImpl.java:1045) >> at org.glassfish.jersey.model.internal.CommonConfig.configureFe >> atures(CommonConfig.java:711) >> at org.glassfish.jersey.model.internal.CommonConfig.configureMe >> taProviders(CommonConfig.java:648) >> at org.glassfish.jersey.server.ResourceConfig.configureMetaProv >> iders(ResourceConfig.java:829) >> at org.glassfish.jersey.server.ApplicationHandler.initialize(Ap >> plicationHandler.java:453) >> at org.glassfish.jersey.server.ApplicationHandler.access$500(Ap >> plicationHandler.java:184) >> at org.glassfish.jersey.server.ApplicationHandler$3.call(Applic >> ationHandler.java:350) >> at org.glassfish.jersey.server.ApplicationHandler$3.call(Applic >> ationHandler.java:347) >> at org.glassfish.jersey.internal.Errors.process(Errors.java:315) >> at org.glassfish.jersey.internal.Errors.process(Errors.java:297) >> at org.glassfish.jersey.internal.Errors.processWithException(Er >> rors.java:255) >> at org.glassfish.jersey.server.ApplicationHandler.<init>(Applic >> ationHandler.java:347) >> at org.glassfish.jersey.server.ApplicationHandler.<init>(Applic >> ationHandler.java:311) >> at org.glassfish.jersey.jetty.JettyHttpContainer.<init>(JettyHt >> tpContainer.java:474) >> at org.glassfish.jersey.jetty.JettyHttpContainerProvider.create >> Container(JettyHttpContainerProvider.java:60) >> at org.glassfish.jersey.server.ContainerFactory.createContainer >> (ContainerFactory.java:81) >> at org.glassfish.jersey.jetty.JettyHttpContainerFactory.createS >> erver(JettyHttpContainerFactory.java:161) >> at ch.adnovum.jcan.test.deltaspike.jaxrs.internal.DeltaspikeAwa >> > reJettyTestContainer.<init>(DeltaspikeAwareJettyTestContainer.java:41) >> at ch.adnovum.jcan.test.deltaspike.jaxrs.internal.DeltaspikeAwa >> reJettyTestContainerFactory.create(DeltaspikeAwareJettyTes >> tContainerFactory.java:16) >> at org.glassfish.jersey.test.JerseyTest.createTestContainer(Jer >> seyTest.java:277) >> at org.glassfish.jersey.test.JerseyTest.setUp(JerseyTest.java:607) >> at ch.adnovum.moap.movie.management.web.EntityAccessTest.setUp( >> EntityAccessTest.java:50) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce >> ssorImpl.java:62) >> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe >> thodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:483) >> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( >> FrameworkMethod.java:50) >> at org.junit.internal.runners.model.ReflectiveCallable.run(Refl >> ectiveCallable.java:12) >> at org.junit.runners.model.FrameworkMethod.invokeExplosively(Fr >> ameworkMethod.java:47) >> at org.junit.internal.runners.statements.RunBefores.evaluate( >> RunBefores.java:24) >> at org.junit.internal.runners.statements.RunAfters.evaluate(Run >> Afters.java:27) >> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) >> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit >> 4ClassRunner.java:78) >> at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner. >> runChild(CdiTestRunner.java:177) >> at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner. >> runChild(CdiTestRunner.java:76) >> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) >> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) >> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) >> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) >> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) >> at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$Be >> foreClassStatement.evaluate(CdiTestRunner.java:372) >> at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$Af >> terClassStatement.evaluate(CdiTestRunner.java:393) >> at org.junit.runners.ParentRunner.run(ParentRunner.java:363) >> at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner. >> run(CdiTestRunner.java:144) >> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference. >> run(JUnit4TestReference.java:86) >> at org.eclipse.jdt.internal.junit.runner.TestExecution.run( >> TestExecution.java:38) >> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe >> sts(RemoteTestRunner.java:459) >> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTe >> sts(RemoteTestRunner.java:678) >> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run( >> RemoteTestRunner.java:382) >> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main( >> RemoteTestRunner.java:192) >> >> KatharsisMgmtFeature is a regular Feature. And their is a Producer that >> makes the EntityManagerFactory available with @Inject. >> >> The application works if I manually register a >> org.glassfish.hk2.utilities.binding.AbstractBinder bean as singleton to >> the Application and use it to bind CDI beans to jersey/hk2 with >> AbstractBinder.bind(x).to(y). But I would rather prefer for Jersey to >> directly access the CDI beans instead of bridging those with the >> AbstractBinder. >> >> My dependencies for Jersey currently look like: >> >> compile 'org.glassfish.jersey.core:jersey-client:2.23.1' >> compile 'org.glassfish.jersey.core:jersey-common:2.23.1' >> compile 'org.glassfish.jersey.test-framework:jersey-test-framework- >> core:2.23.1' >> compile 'org.glassfish.jersey.test-framework.providers:jersey-test- >> framework-provider-jetty:2.23.1' >> compile 'org.glassfish.jersey.containers:jersey-container-jetty- >> http:2.23.1' >> compile > 'org.glassfish.jersey.bundles.repackaged:jersey-guava:2.23.1' >> >> compile 'org.glassfish.jersey.ext.cdi:jersey-cdi1x:2.23.1' >> compile > 'org.glassfish.jersey.ext.cdi:jersey-cdi1x-transaction:2.23.1' >> compile > 'org.glassfish.jersey.ext.cdi:jersey-cdi1x-servlet:2.23.1' >> >> The last three are new jersey libraries first having become available last >> year. Documentation about those is available here: >> https://jersey.java.net/documentation/latest/cdi.support.html. >> Potentially that api would open up the possiblity for a small deltaspike >> library that does all the necessary integration work (request scoping, cdi >> binding), probably independent of Jetty. >> >> Or is there a complete example somewhere? >> >> Regards Remo >> >> >> >> >> >> >> >> >
