And by working, I mean it compiles.. I do not mean that the Dependency Injection is working.
On Fri, Nov 21, 2014 at 2:13 PM, Deven Phillips <[email protected]> wrote: > OK, I created a branch called DeltaSpike which is now working... Sorry for > wasting your time with a broken source tree!! > > Deven > > On Fri, Nov 21, 2014 at 2:04 PM, Deven Phillips <[email protected]> > wrote: > >> I've never needed an "Application" class before while using Guice or >> manually configuring JAX-RS with Jetty.. I will check to see if that makes >> a difference... >> >> Deven >> >> On Fri, Nov 21, 2014 at 1:37 PM, Jason Porter <[email protected]> >> wrote: >> >>> Maybe I missed something, but why are you going through all the trouble >>> of >>> starting the server and setting everything up manually? I still don't see >>> any JAX-RS config or JAX-RS Application class. >>> >>> On Fri, Nov 21, 2014 at 11:30 AM, Deven Phillips < >>> [email protected]> >>> wrote: >>> >>> > I see what happened... I meant to create a separate branch for a WeldSE >>> > implementation and failed.. Checkout the tag 'deltaspike' >>> > >>> > Deven >>> > >>> > On Fri, Nov 21, 2014 at 1:27 PM, Deven Phillips < >>> [email protected]> >>> > wrote: >>> > >>> > > John, >>> > > >>> > > Have a look at com.zanclus.example.api.GetServerTime >>> > > >>> > > Deven >>> > > >>> > > On Fri, Nov 21, 2014 at 11:41 AM, John D. Ament < >>> [email protected]> >>> > > wrote: >>> > > >>> > >> Deven, >>> > >> >>> > >> Looks like there's no JAX-RS resources in this project... >>> > >> >>> > >> On Fri Nov 21 2014 at 10:08:34 AM Deven Phillips < >>> > >> [email protected]> >>> > >> wrote: >>> > >> >>> > >> > I finally got around to trying to put together an example project >>> > which >>> > >> I >>> > >> > could share publicly... >>> > >> > >>> > >> > https://github.com/InfoSec812/JettyJerseyWeldExample >>> > >> > >>> > >> > I'm hoping I can figure out how to get DeltaSpike/Weld to work >>> > injecting >>> > >> > dependencies into my JAX-RS POJOs... >>> > >> > >>> > >> > On Mon, Nov 17, 2014 at 9:58 AM, Deven Phillips < >>> > >> [email protected]> >>> > >> > wrote: >>> > >> > >>> > >> > > Creating the ServletContextHandler now looks like: >>> > >> > > >>> > >> > > ServletContextHandler handler = new >>> ServletContextHandler(); >>> > >> > > handler.setContextPath("/"); >>> > >> > > handler.addFilter(ProxyAuthFilter.class, "/*", >>> > >> > > EnumSet.allOf(DispatcherType.class)); >>> > >> > > handler.addEventListener(new >>> BeanManagerResourceBindingList >>> > >> > ener()); >>> > >> > > handler.addEventListener(new >>> CdiServletRequestListener()); >>> > >> > > handler.addServlet(new ServletHolder(new >>> > ServletContainer(new >>> > >> > > PackagesResourceConfig(config.restPackage()))), "/*"); >>> > >> > > >>> > >> > > >>> > >> > > And the exception is an NPE in one of my JAX-RS POJOs where it >>> tries >>> > >> to >>> > >> > > access a supposedly injected resource. >>> > >> > > >>> > >> > > DEven >>> > >> > > >>> > >> > > On Mon, Nov 17, 2014 at 9:54 AM, Deven Phillips < >>> > >> > [email protected]> >>> > >> > > wrote: >>> > >> > > >>> > >> > >> OK, the @Target exception was a classpath problem and I have >>> > resolved >>> > >> > it, >>> > >> > >> but I am still getting NullPointerExceptions because nothing is >>> > >> getting >>> > >> > >> injected into my JAX-RS classes... >>> > >> > >> >>> > >> > >> On Mon, Nov 17, 2014 at 9:28 AM, Deven Phillips < >>> > >> > [email protected] >>> > >> > >> > wrote: >>> > >> > >> >>> > >> > >>> So, I just tried this: >>> > >> > >>> >>> > >> > >>> WebAppContext ctx = new >>> WebAppContext("cc-backend-sungardas", >>> > >> > "/"); >>> > >> > >>> ctx.addFilter(ProxyAuthFilter.class, "/*", >>> > >> > >>> EnumSet.allOf(DispatcherType.class)); >>> > >> > >>> ctx.addServlet(new ServletHolder(new ServletContainer(new >>> > >> > >>> PackagesResourceConfig(config.restPackage()))), "/*"); >>> > >> > >>> ctx.addEventListener(new >>> > BeanManagerResourceBindingListener()); >>> > >> > >>> >>> > >> > >>> and I got the following Exceptions: >>> > >> > >>> >>> > >> > >>> [DEBUG] 2014-11-17 09:25:44,821 [main] >>> > >> > org.jboss.weld.Reflection:82 >>> > >> > >>> - WELD-000620: interface javax.ws.rs.core.Context is not >>> declared >>> > >> > >>> @Target(METHOD, FIELD, PARAMETER, TYPE). Weld will use this >>> > >> annotation, >>> > >> > >>> however this may make the application unportable. >>> > >> > >>> Exception in thread "main" >>> > >> > >>> org.jboss.weld.exceptions.DefinitionException: Exception List >>> > with 1 >>> > >> > >>> exceptions: >>> > >> > >>> Exception 0 : >>> > >> > >>> javax.enterprise.event.ObserverException >>> > >> > >>> at >>> > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >>> > >> > >>> Method) >>> > >> > >>> at >>> > >> > >>> sun.reflect.NativeConstructorAccessorImpl.newInstance( >>> > >> > NativeConstructorAccessorImpl.java:57) >>> > >> > >>> at >>> > >> > >>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance( >>> > >> > DelegatingConstructorAccessorImpl.java:45) >>> > >> > >>> at >>> > >> java.lang.reflect.Constructor.newInstance(Constructor.java:526) >>> > >> > >>> at java.lang.Class.newInstance(Class.java:379) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.security.NewInstanceAction.run( >>> > >> > NewInstanceAction.java:33) >>> > >> > >>> at java.security.AccessController.doPrivileged(Native >>> Method) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.injection.Exceptions.rethrowException( >>> > >> > Exceptions.java:40) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.injection.Exceptions.rethrowException( >>> > >> > Exceptions.java:78) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.injection.MethodInjectionPoint. >>> > >> > invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:98) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.event.ObserverMethodImpl.sendEvent( >>> > >> > ObserverMethodImpl.java:271) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent( >>> > >> > ExtensionObserverMethodImpl.java:121) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.event.ObserverMethodImpl.sendEvent( >>> > >> > ObserverMethodImpl.java:258) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.event.ObserverMethodImpl.notify( >>> > >> > ObserverMethodImpl.java:237) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.event.ObserverNotifier.notifyObserver( >>> > >> > ObserverNotifier.java:174) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.event.ObserverNotifier.notifyObservers( >>> > >> > ObserverNotifier.java:133) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.event.ObserverNotifier.fireEvent( >>> > >> > ObserverNotifier.java:107) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.bootstrap.events.AbstractContainerEvent. >>> > >> > fire(AbstractContainerEvent.java:54) >>> > >> > >>> at >>> > >> > >>> >>> > >> >>> org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire( >>> > >> > AbstractDefinitionContainerEvent.java:42) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.bootstrap.events.AfterBeanDiscoveryImpl. >>> > >> > fire(AfterBeanDiscoveryImpl.java:59) >>> > >> > >>> at >>> > >> > >>> >>> > >> >>> org.jboss.weld.bootstrap.WeldStartup.deployBeans(WeldStartup.java:412) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.bootstrap.WeldBootstrap.deployBeans( >>> > >> > WeldBootstrap.java:83) >>> > >> > >>> at >>> > >> > >>> >>> > >> >>> org.jboss.weld.bootstrap.api.helpers.ForwardingBootstrap.deployBeans( >>> > >> > ForwardingBootstrap.java:63) >>> > >> > >>> at >>> > org.jboss.weld.environment.se.Weld.initialize(Weld.java:133) >>> > >> > >>> at >>> > >> > >>> org.apache.deltaspike.cdise.weld.WeldContainerControl. >>> > >> > boot(WeldContainerControl.java:65) >>> > >> > >>> at com.sungardas.cc.edison.Main.start(Main.java:171) >>> > >> > >>> at com.sungardas.cc.edison.Main.main(Main.java:68) >>> > >> > >>> Caused by: java.lang.NoSuchMethodError: >>> > >> > >>> org.jboss.weld.context.AbstractUnboundContext.<init>(Z)V >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.environment.se.contexts.ThreadContext.<init>( >>> > >> > ThreadContext.java:40) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.environment.se.WeldSEBeanRegistrant. >>> > >> > registerWeldSEContexts(WeldSEBeanRegistrant.java:49) >>> > >> > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>> Method) >>> > >> > >>> at >>> > >> > >>> sun.reflect.NativeMethodAccessorImpl.invoke( >>> > >> > NativeMethodAccessorImpl.java:57) >>> > >> > >>> at >>> > >> > >>> sun.reflect.DelegatingMethodAccessorImpl.invoke( >>> > >> > DelegatingMethodAccessorImpl.java:43) >>> > >> > >>> at java.lang.reflect.Method.invoke(Method.java:606) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.injection.MethodInjectionPoint. >>> > >> > invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:90) >>> > >> > >>> ... 17 more >>> > >> > >>> >>> > >> > >>> at >>> > >> > >>> >>> > >> >>> org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire( >>> > >> > AbstractDefinitionContainerEvent.java:44) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.bootstrap.events.AfterBeanDiscoveryImpl. >>> > >> > fire(AfterBeanDiscoveryImpl.java:59) >>> > >> > >>> at >>> > >> > >>> >>> > >> >>> org.jboss.weld.bootstrap.WeldStartup.deployBeans(WeldStartup.java:412) >>> > >> > >>> at >>> > >> > >>> org.jboss.weld.bootstrap.WeldBootstrap.deployBeans( >>> > >> > WeldBootstrap.java:83) >>> > >> > >>> at >>> > >> > >>> >>> > >> >>> org.jboss.weld.bootstrap.api.helpers.ForwardingBootstrap.deployBeans( >>> > >> > ForwardingBootstrap.java:63) >>> > >> > >>> at >>> > org.jboss.weld.environment.se.Weld.initialize(Weld.java:133) >>> > >> > >>> at >>> > >> > >>> org.apache.deltaspike.cdise.weld.WeldContainerControl. >>> > >> > boot(WeldContainerControl.java:65) >>> > >> > >>> at com.sungardas.cc.edison.Main.start(Main.java:171) >>> > >> > >>> at com.sungardas.cc.edison.Main.main(Main.java:68) >>> > >> > >>> >>> > >> > >>> On Mon, Nov 17, 2014 at 9:09 AM, Deven Phillips < >>> > >> > >>> [email protected]> wrote: >>> > >> > >>> >>> > >> > >>>> This is embedded Jetty 9.2.x and Weld version 1.1.9.Final >>> booted >>> > >> using >>> > >> > >>>> DeltaSpike 1.0.2... I have seen that linked document, but I >>> don't >>> > >> see >>> > >> > how >>> > >> > >>>> to translate that to embedded Jetty's startup... Normally, I >>> > would >>> > >> do >>> > >> > >>>> something like: >>> > >> > >>>> >>> > >> > >>>> ServletContextHandler ctx = new >>> ServletContextHandler("/"); >>> > >> > >>>> ctx.addFilter(AuthFilter.class, "/*", >>> > >> > >>>> EnumSet.allOf(DispatcherType.class) >>> > >> > >>>> ctx.addServlet(new ServletContainer(new >>> > >> > >>>> PackagesResourceConfig(restPackage)); >>> > >> > >>>> ctx.addEventListener(new CdiRequestListener()) >>> > >> > >>>> >>> > >> > >>>> Where in there would I put in the BeanManager and the >>> > >> > >>>> ManagerObjectFactory? Or should I follow the lines below that >>> > where >>> > >> > they >>> > >> > >>>> talk about using a listener to automatically bind the >>> > BeanManager? >>> > >> > >>>> >>> > >> > >>>> Thanks in advance!! >>> > >> > >>>> >>> > >> > >>>> Deven >>> > >> > >>>> >>> > >> > >>>> On Sun, Nov 16, 2014 at 10:39 PM, Jason Porter < >>> > >> > [email protected] >>> > >> > >>>> > wrote: >>> > >> > >>>> >>> > >> > >>>>> Which version of weld? >>> > >> > >>>>> >>> > >> > >>>>> https://docs.jboss.org/weld/reference/latest/en-US/html/ >>> > >> > environments.html#_jetty >>> > >> > >>>>> should be all you need for weld in jetty. >>> > >> > >>>>> On Sun, Nov 16, 2014 at 20:28 Deven Phillips < >>> > >> > [email protected] >>> > >> > >>>>> > >>> > >> > >>>>> wrote: >>> > >> > >>>>> >>> > >> > >>>>> > Hi all, >>> > >> > >>>>> > >>> > >> > >>>>> > >>> > >> > >>>>> > I'm trying really hard to figure out how to make >>> > >> > DeltaSpike/Weld >>> > >> > >>>>> work >>> > >> > >>>>> > with Jetty and Jersey... I can get the Jersey servlet to >>> load, >>> > >> but >>> > >> > I >>> > >> > >>>>> cannot >>> > >> > >>>>> > get any of the dependencies to be injected... My goal is >>> to >>> > >> replace >>> > >> > >>>>> > Google's Guice DI framework so that I can achieve better >>> test >>> > >> > >>>>> coverage and >>> > >> > >>>>> > decoupling... I'm having a very hard time finding any >>> > >> documentation >>> > >> > >>>>> for >>> > >> > >>>>> > wiring this up.. >>> > >> > >>>>> > >>> > >> > >>>>> > Any help would be appreciated! >>> > >> > >>>>> > >>> > >> > >>>>> > Deven >>> > >> > >>>>> > >>> > >> > >>>>> >>> > >> > >>>> >>> > >> > >>>> >>> > >> > >>> >>> > >> > >> >>> > >> > > >>> > >> > >>> > >> >>> > > >>> > > >>> > >>> >>> >>> >>> -- >>> Jason Porter >>> http://en.gravatar.com/lightguardjp >>> >> >> >
