![]() Please wait while updating issue type...
Could not save your changes
This issue has been changed since you started editing it
Data that has been changed is highlighted in red below. Undo your changes to see the updated information
You have changed this issue, but haven't saved your changes yet. To save it, press the Save changes button to the right
This issue is blocking the next release
![]() There are no comments
There is nothing attached to this issue
This issue has no duplicates
There are no code checkins for this issue |
|||||||||||||||||||||||||||||||||||||||||
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?
Proposed implementation ⇑ top
Since this has been requested for the current version (4.2.x), I'm turning this ticket into an enhancement, so it can be delivered in a maintenance release. The proposed design is as follows:We create an interface named "Interruptibility" as follows, to be implemented by the tasks:
In the 4.2 branch, users will have to implement the interface in their tasks if they want to control whether the task can be interrupted. In the trunk, Task<T> will extend this interface and AbstractTask<T> will have an implementation of isInterruptible() which returns true. To return a different value, users will have to override that method in subclasses.
By doing this, we ensure that we can use the same code to check interruptibility of a task in 4.2 and trunk, while not breaking anything in 4.2, since adding anything to Task and AbstractTask encurs the risk of breaking serialization between 4.2 maintenance releases.
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?