I was listening to Colm´s presentation about customizing syncope with camel rotues. It sounds like a very powerful combination as you can influence all changes. For some simple cases like just listening to changes in syncope the camel routes look a bit complicated though.
So I wonder if it would make sense to create some central event hub inside syncope that gets notified of all changes and allows to easily attach messaging systems. I could imagine something like this: interface EventBroker { sendEvent(String topic, Object event) } There could be different event classes for each type of change. If those events have JAXB annotations it is very easy to create xml or json from them. The syncope classes where the events happen would just inject the EventBroker interface and send their events. The EventBroker would then forward the events to all EventListeners present. An EventListener would look like that: interface EventListener { onEvent(String topic, Object event) } So we could provide some implementations of EventListener like for ActiveMQ and Kafka. Additionally users could also implement the interface and attach additional messaging systems. What do you think? Does something like this already exist? Would it make sense to add this mechanism to syncope? If there is interest I am willing to create the Broker as well as ActiveMQ and Kafka impls. I am not familiar enough with the individual source for the events to do the integration but I think it should be very easy for any syncope core developer to add them. Christian -- -- Christian Schneider http://www.liquid-reality.de <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.liquid-reality.de> Open Source Architect http://www.talend.com <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.talend.com>