deltaspike-users mailing list archives

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



-- 
Jason Porter
http://en.gravatar.com/lightguardjp

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