Hi Peter, Thanks - it's unfortunately as I expected then (i.e. no built-in support in any widely-used OSGi framework).
I do agree with you that this is not a function of the EventAdmin service. It should instead be an independent service, and one that is used by the frameworks that publish / wire together components (Blueprint / iPOJO). We also write quite a bit of Jini code, and there we have the EventMailbox (Mercury) service that performs a similar function (though Jini events are not as nice and loosely-coupled as OSGi events). I think there is good scope for a similar service in OSGi, whose job is to maintain persistent event subscriptions for components that disappear or malfunction from time to time. Any chance anybody here is working on such a project, or should I start? :-) kind regards, Dawid On Fri, 2012-09-07 at 09:32 +0200, Peter Kriens wrote: > The only way to solve this is to persistently store events, something which I > think Event Admin is too light weight for. There are too many events that are > just informational, storing them would be overkill. A light weight solution > to this problem is supported by different libraries, the one I liked is > Hazelcast (which also gives you cluster facilities). > > Kind regards, > > Peter Kriens > > On 6 sep. 2012, at 13:01, Dawid Loubser wrote: > > > Hi All, > > > > We make heavy use of OSGi (running in JBoss 7, actually) for a large > > integration application, and this includes events (EventAdmin). We don't > > currently use iPOJO (simply declarative service) but I really want to > > move over to iPOJO. > > > > My principal problem with OSGi events is the lack of a durable > > subscription mechanism (such as what JMS provides), which means that > > when I re-deploy an event handler component (that has been bug-fixed, > > for example), it may miss events that occur at the moment of > > redeployment. This means that one cannot rely on events for critical > > workflow steps. > > > > Does iPOJO provide any mechanism to improve event reliability? The only > > two features I would imagine that are needed are: > > > > * If a handler fails when handling an event (throws a RuntimeException), > > event delivery should be repeated (perhaps for a certain time). > > > > * When a component is being re-deployed (and one could argue, when it is > > stopped as well) the event should be held for a certain time, and > > delivered once the component is up again. > > > > Temporal service dependencies provide this sort of thing quite nicely > > for normal service invocation, but is there any way to use a similar > > mechanism for event subscriptions to decrease the likelihood of missing > > events? > > > > If not, since iPOJO already has a layer that takes care of event > > subscription and publication, it already provides a solid hook to build > > in this functionality I imagine. > > > > Any information would be much appreciated - > > > > Dawid > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

