Modernize ActiveMQMessageAudit to be lock-free
- Dominant language
- Java
- Stars
- 2.5k
- Forks
- 1.5k
- Avg merge
- 10h 46m
- Merged PRs (30d)
- 79
Description
The current ActiveMQMessageAudit is implemented using synchronized blocks around an LRUCache implemented with a LinkedHashMap as an extension to the sync-free ActiveMQMessageAuditNoSync class.
Modern Java language collection (ConcurrentHashMap) and lock-free programming approach can improve performance (especially when there are concurrent producers). Both classes can be replaced with a single, modern implementation.
A modernized MessageAudit:
- [ ] Provide exact same functional capabilities as current ActiveMQMessageAudit/ActiveMQMessageAuditNoSync
- [ ] Allow for shrinking/growing the audit size without completely clearing the list
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.