
|
If you were logged in you would be able to see more operations.
|
|
|
| Labels: |
|
| User impact: |
Low
|
| Affects Docs: |
Yes
|
At the moment events are fired synchronously. Certain times, a user listener may choose to execute asynchronously. Provide an easy-to-configure means to flag async execution for the user, and also a throttling mechanism in Galaxy to prevent resource drain under load.
Implementation notes:
- The user marks an @OnEvent method with an extra @Async annotation, optionally accepting a timeout.
- DefaultEventManager's proxy listeners additionally inspect entry-point methods for the @Async annotation and fire the event in a new thread
- DefaultEventManager will have a org.springframework.core.task.TaskExecutor optionally injected to provide for performance tuning. A default implementation will be available if none injected (like org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor). See http://static.springframework.org/spring/docs/2.0.x/reference/scheduling.html
for reference.
|
|
Description
|
At the moment events are fired synchronously. Certain times, a user listener may choose to execute asynchronously. Provide an easy-to-configure means to flag async execution for the user, and also a throttling mechanism in Galaxy to prevent resource drain under load.
Implementation notes:
- The user marks an @OnEvent method with an extra @Async annotation, optionally accepting a timeout.
- DefaultEventManager's proxy listeners additionally inspect entry-point methods for the @Async annotation and fire the event in a new thread
- DefaultEventManager will have a org.springframework.core.task.TaskExecutor optionally injected to provide for performance tuning. A default implementation will be available if none injected (like org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor). See http://static.springframework.org/spring/docs/2.0.x/reference/scheduling.html
for reference.
|
Show » |
|