Hi,
the @Inject / @Context annotations are an implementation detail and
should not be used to annotate interfaces. So don't expect Jersey to
traverse into the class hierarchy to collect those annotations.
Robert
Am Freitag, den 10.06.2016, 01:35 -0600 schrieb Trenton D. Adams:
> I noticed that @Context and @Inject do not work on interfaces. Is
> that intentional? It works perfectly if I put the annotations on the
> member variables themselves.
>
> I define this on my interface, and it does not get called on the
> implementing class.
>
> On the interface I have...
> void setServiceUri(@Context UriInfo serviceUri);
>
> void setRequest(@Context HttpServletRequest request);
>
> @Inject
> void setSession(HttpSession session);
>
> On the implementing class I have...
> @Override
> public void setServiceUri(UriInfo serviceUri)
> {
> this.serviceUri = serviceUri;
> }
>
> @Override
> public void setRequest(HttpServletRequest request)
> {
> this.request = request;
> }
>
> @Override
> public void setSession(HttpSession session)
> {
> this.session = session;
> }
>
> I set a break point on any of the set methods, and none of them gets
> called.