cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (CXF-5373) Issue resolving AsynchResponse
Date Mon, 18 Nov 2013 22:35:20 GMT

     [ https://issues.apache.org/jira/browse/CXF-5373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Sergey Beryozkin resolved CXF-5373.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.7.8
                   3.0.0
         Assignee: Sergey Beryozkin

The initial workaround fix has been merged to 2.7.x

> 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
>            Assignee: Sergey Beryozkin
>             Fix For: 3.0.0, 2.7.8
>
>         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)

Mime
View raw message