users@glassfish.java.net

[gf-users] Re: Why isn't my _at_InstanceResolverAnnotation being used in Glassfish 3.1.2?

From: Dan Kaplan <dank_at_mirthcorp.com>
Date: Thu, 5 Jun 2014 16:27:02 -0700

OK i created https://java.net/jira/browse/GLASSFISH-21081


On Thu, Jun 5, 2014 at 4:13 PM, Dan Kaplan <dank_at_mirthcorp.com> wrote:

> Yes, I hit the break point in EjbRuntimeEndpointInfo.java:270, I don't
> seem to be hitting the other break point
>
>
> On Thu, Jun 5, 2014 at 1:57 PM, Lukas Jungmann <lukas.jungmann_at_oracle.com>
> wrote:
>
>>
>> On 6/5/14, 10:34 PM, Dan Kaplan wrote:
>>
>> Thanks for the reply. I put a breakpoint there half way through my app's
>> deployment. It was never hit even though my WS was being called and used.
>> Under what circumstances should that break point be hit?
>>
>>
>> Ah, my bad, should do the 'grep' earlier... Other place where
>> InstanceResolver is being created is
>> org/glassfish/webservices/EjbRuntimeEndpointInfo, around line 263 - maybe
>> that's the place which is missing an 'if' condition, can you check that
>> with a breakpoint and if that's the case, file a bug, please?
>>
>> thanks,
>> --lukas
>>
>>
>>
>>
>> On Thu, Jun 5, 2014 at 12:47 PM, Lukas Jungmann <
>> lukas.jungmann_at_oracle.com> wrote:
>>
>>> On 6/5/14, 8:48 PM, Dan Kaplan wrote:
>>>
>>> I looked around in the source and found this line in
>>> the org.glassfish.webservices.WSServletContextListener:
>>>
>>> // See if it is configured with JAX-WS extension
>>> InstanceResolver annotation like
>>> // @com.sun.xml.ws.developer.servlet.HttpSessionScope or
>>> @com.sun.xml.ws.developer.Stateful
>>> InstanceResolver ir =
>>> InstanceResolver.createFromInstanceResolverAnnotation(serviceEndpointClass);
>>> //TODO - Implement 109 StatefulInstanceResolver ??
>>> if (ir == null) {
>>> //use our own InstanceResolver that does not call
>>> @PostConstuct method before
>>> //_at_Resource injections have happened.
>>> ir = new InstanceResolverImpl(serviceEndpointClass);
>>> }
>>> Invoker inv = ir.createInvoker();
>>>
>>> The name of that class concerns me. It's called
>>> WSServletContextListener, but my Web Services are EJBs, not servlets.
>>>
>>>
>>> It doesn't matter, even ejb endpoints are implemented as servlets
>>> behind the scenes (jsr-109 can give you more in depth view on this)
>>>
>>>
>>> Does this mean that the @InstanceResolverAnnotation is only
>>> considered if my Web Services are EJBs?
>>>
>>>
>>> No, if you're getting 'null' from InstanceResolver.createFromInstanceResolverAnnotation(serviceEndpointClass);
>>> I'd put a breakpoint on this line, check that serviceEndpointClass
>>> contains expected annotation and start debugging from here
>>> (InstanceResolver source is in jaxws-ri[1]) if something is wrong.
>>>
>>> thanks,
>>> --lukas
>>>
>>> [1]:
>>> https://github.com/gf-metro/jaxws/blob/master/jaxws-ri/rt/src/main/java/com/sun/xml/ws/api/server/InstanceResolver.java
>>>
>>>
>>>
>>>
>>> On Wed, Jun 4, 2014 at 3:40 PM, Dan Kaplan <dank_at_mirthcorp.com> wrote:
>>>
>>>> You can find the source code I'm using here:
>>>> https://java.net/projects/jax-ws-commons/sources/svn/show/trunk/guice/src/main/java/org/jvnet/jax_ws_commons/guicemanaged
>>>>
>>>> Why doesn't the GuiceManagedInstanceResolver get used? I can easily
>>>> hit breakpoints in the GuiceManagedFeature, but not
>>>> the GuiceManagedInstanceResolver. Is
>>>> com.sun.xml.ws.api.server.InstanceResolverAnnotation ignored now? What was
>>>> it replaced with?
>>>>
>>>> --
>>>> Thanks,
>>>> Dan
>>>>
>>>
>>>
>>>
>>> --
>>> Thanks,
>>> Dan
>>>
>>> CONFIDENTIALITY NOTICE: The information contained in this electronic
>>> transmission may be confidential. If you are not an intended recipient, be
>>> aware that any disclosure, copying, distribution or use of the information
>>> contained in this transmission is prohibited and may be unlawful. If you
>>> have received this transmission in error, please notify us by email reply
>>> and then erase it from your computer system.
>>>
>>>
>>>
>>
>>
>> --
>> Thanks,
>> Dan
>>
>> CONFIDENTIALITY NOTICE: The information contained in this electronic
>> transmission may be confidential. If you are not an intended recipient, be
>> aware that any disclosure, copying, distribution or use of the information
>> contained in this transmission is prohibited and may be unlawful. If you
>> have received this transmission in error, please notify us by email reply
>> and then erase it from your computer system.
>>
>>
>>
>
>
> --
> Thanks,
> Dan
>



-- 
Thanks,
Dan
-- 
CONFIDENTIALITY NOTICE: The information contained in this electronic 
transmission may be confidential. If you are not an intended recipient, be 
aware that any disclosure, copying, distribution or use of the information 
contained in this transmission is prohibited and may be unlawful. If you 
have received this transmission in error, please notify us by email reply 
and then erase it from your computer system.