iris ding created CXF-6001:
------------------------------
Summary: CXF fails to find a correct MessageBodyWritter for
List<E> if resource is defined under async way
Key: CXF-6001
URL: https://issues.apache.org/jira/browse/CXF-6001
Project: CXF
Issue Type: Bug
Components: JAX-RS
Affects Versions: 3.0.1
Reporter: iris ding
CXF fails to find a correct MessageBodyWritter for List<E> if Resource is
defined under async way,
see below example, I have two method defien, the **/collecitons can be returned
successfully however
we will get an error for the **/asyncCollections.
@Path("/bookstore")
public class BookContinuationStore {
private final List<Book> bookList = new ArrayList<Book>();
public BookContinuationStore() {
init();
}
@GET
@Path("/collections")
@Produces({ "application/xml", "application/json" })
public List<Book> getBookCollection() throws Exception {
return bookList;
}
@GET
@Path("/asyncCollections")
@Produces({ "application/xml", "application/json" })
public void getBookCollection(@Suspended AsyncResponse response) throws
Exception {
resumeSuspendedBookList(response);
}
private void resumeSuspendedBookList(final AsyncResponse response) {
executor.execute(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(2000);
} catch (InterruptedException ex) {
// ignore
}
response.resume(bookList);
}
});
}
private void init() {
Book b1 = new Book("Iris1", 1);
Book b2 = new Book("Iris2", 2);
bookList.add(b1);
bookList.add(b2);
}
}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)