deltaspike-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John D. Ament" <john.d.am...@gmail.com>
Subject Re: Jetty/Jersey/Injection
Date Fri, 21 Nov 2014 16:41:00 GMT
Deven,

Looks like there's no JAX-RS resources in this project...

On Fri Nov 21 2014 at 10:08:34 AM Deven Phillips <deven.phillips@gmail.com>
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 <deven.phillips@gmail.com>
> 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 <
> deven.phillips@gmail.com>
> > 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 <
> deven.phillips@gmail.com
> >> > 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 <
> >>> deven.phillips@gmail.com> 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 <
> lightguard.jp@gmail.com
> >>>> > 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 <
> deven.phillips@gmail.com
> >>>>> >
> >>>>> 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
> >>>>> >
> >>>>>
> >>>>
> >>>>
> >>>
> >>
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message