[
https://jira.jboss.org/jira/browse/JBREM-1080?page=com.atlassian.jira.plu...
]
Trustin Lee commented on JBREM-1080:
------------------------------------
If none of the three methods were called in RequestListener.handleRequest(), we could keep
the RequestContext as a map of PhantomReferences and mark the request as dead if it has
been deferenced.
If RequestContext is thread safe, no additional change is required in the RequestContext
API.
One left issue is that we never know if a user didn't call anything because he will
call later or he just forgot. But that's another story.
Add support for future tasks to RequestContext
----------------------------------------------
Key: JBREM-1080
URL:
https://jira.jboss.org/jira/browse/JBREM-1080
Project: JBoss Remoting
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Components: r3 api
Reporter: David Lloyd
Fix For: 3.1.0.Beta1
Right now, the RequestContext keeps track of tasks and threads being used to process a
request. If all tasks complete and no reply is sent, it makes sure that the requesting
party receives an exception indicating that a reply was never sent. However, if the
request listener may wish interact with another framework which uses some asynchronous
callback mechanism, from which a reply is to be sent. In this case, all tasks terminate
but the reply might still be sent.
To solve this problem, RequestContext needs a method which can wrap a Runnable (or
similar) with some type of cancellable Runnable or task object, which can then be called
by other frameworks as needed later on. The RequestContext wouldn't consider a
request "dead" until all tasks completed and all such wrapped Runnables have
also been completed or GC'd.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira