deltaspike-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Deven Phillips <deven.phill...@gmail.com>
Subject Re: Jetty/Jersey/Injection
Date Fri, 21 Nov 2014 18:30:37 GMT
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 <deven.phillips@gmail.com>
wrote:

> John,
>
>     Have a look at com.zanclus.example.api.GetServerTime
>
> Deven
>
> On Fri, Nov 21, 2014 at 11:41 AM, John D. Ament <john.d.ament@gmail.com>
> 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 <
>> 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