[ https://issues.apache.org/jira/browse/CXF-5373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13813967#comment-13813967 ]
Sergey Beryozkin commented on CXF-5373: --------------------------------------- Thanks. Interesting, so you are using a custom executor too. I wonder if it interferes somehow with the async code. I'll investigate, cheers Sergey > Issue resolving AsynchResponse > ------------------------------ > > Key: CXF-5373 > URL: https://issues.apache.org/jira/browse/CXF-5373 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 2.7.7 > Reporter: Sridhar Jonnalagadda > Attachments: sampleCXF.zip > > > Spring config > <task:executor id="servicePool" pool-size="1" > queue-capacity="${aw.concurrentUsers.download:5000}"/> > JAX-RS server config > <jaxrs:server id="restContainer" address="/" > > <jaxrs:executor> > <ref bean="servicePool"/> > </jaxrs:executor> > <jaxrs:serviceBeans> > <ref bean="tokenService" /> > </jaxrs:serviceBeans> > </jaxrs:server> > Java End-Point > @POST > @Path("/createToken/{fileName}") > @Produces(MediaType.APPLICATION_FORM_URLENCODED) > > //http://localhost:8000/contentGateway/integrationServices/tokenService/createToken/{fileName} > public void createToken(@PathParam("fileName")final String fileName, > final AsyncResponse asyncResponse){ > validateInput(fileName); > final String randomUUID = UUID.randomUUID().toString(); > this.tokenRepository.storeToken(randomUUID.toString(),fileName); > asyncResponse.resume(randomUUID); > > } > JAXRSUtils.java : 766- 767 > if (parameterClass == AsyncResponse.class) { > return new AsyncResponseImpl(message); > } > AsyncResponseImpl 53 - 59 > public AsyncResponseImpl(Message inMessage) { > inMessage.put(AsyncResponse.class, this); > inMessage.getExchange().put(ContinuationCallback.class, this); > this.inMessage = inMessage; > > initContinuation(); > } > Line: 55 > inMessage.getExchange().put(ContinuationCallback.class, this); > JAXRSInvoker.java : Line 86 > AsyncResponse asyncResp = exchange.get(AsyncResponse.class); > Will always yield null, Since when setting the key will be for > ContinuationCallback and when retrieving it will be for AsyncResponse -- This message was sent by Atlassian JIRA (v6.1#6144)