-
New Feature
-
Resolution: Unresolved
-
Medium
-
None
-
None
-
None
QueuedNotificationManager is a useful utility for scheduling in-order execution of tasks. Unfortunately its design is heavily affected by the use case it comes from, which limit its usefulness:
- listener keys work on identities, which prevents common equality to be used – not all potential users can work with identities reasonable (i.e. they have to do String.intern())
- there is no provision to control timing of submission of individual entries, i.e. users cannot specify a timeout for single task submission
- there is no provision to return tasks not published within a certain deadline
Address these issues by generalizing these use cases into a new class and make QueuedNotificationManager a special-case of that class.