Andrzej Wójcik (Tigase) opened 9 years ago
|
|
I assume in 40h it will be possible to implement this feature with unit test and documentation. %bmalkow - correct my estimate if I'm wrong |
|
Done. %andrzej.wojcik would you like to update events to new version event "shutdown"? |
|
I updated implementation of Shutdown event and added test cases with inheritance, method visibility and serialization which I think are important to pass before we can mark this task as done. |
|
Fixed. All tests passes. |
|
Few inputs from me about new implementation:
|
|
Implemented. |
|
Implementatin works ok. %bmalkow - I made few changes to EventBus while I was working on and testing #1601 I changed default executor of event handlers and increased number of threads to (by default) use 4 * no of CPU - same as XMPPProcessors as in my opinion this feature required more threads and to algorithm to scale when there is more CPUs available. I also implemented support for serialization of collections in events (time logged in #1601 as it was required there). |
Type |
Task
|
Priority |
Normal
|
Assignee | |
RedmineID |
3802
|
Version |
tigase-server-8.0.0
|
Estimation |
40h
|
Spent time |
213h 45m
|
Right now we have 2 separate implementations of EventBus:
DefaultClusteredEventBus - for clustered events based on Element, name and XMLNS
DefaultLocalEventBus - for local events based on Event interface and it's implementations
It would be good to have one API so we would not have to keep to separate APIs and implementations and think which is better for particular use case.
While I talked Bartosz we got to conclusion that it would be best to have 1 API based on Event interface and possible second interface which would be responsible for conversion of Event class instance into Element and back to allow this event to be forwarded between cluster nodes if needed.
Usage of Event interfaces is in this case required as we sometimes need to pass more information that just element, ie. instance of a Map/DMap like in DMap (clustered map implementation).