Archived
This forum has been archived. Please start a new discussion on GitHub.
IceStorm
I have several "observer" interfaces, such as
and so on.
Since the event messages are opaque to IceStorm, can I send events from the multiple interfaces over a single topic by having unchecked proxies for each observer interface (using uncheckedCast on the topic proxy)?
On the subscriber side, can I then use a subscriber implemented as a dispatch interceptor to dispatch each event to a different handler based on the method name?
I know I could just have a separate topic for each observer type, but there are those who will not accept such a multiplicity of topics/service...
Thanks.
interface GainObserver
{
void gainUpdated(int gain);
};
interface OffsetObserver
{
void offsetUpdated(int offset);
};
and so on.
Since the event messages are opaque to IceStorm, can I send events from the multiple interfaces over a single topic by having unchecked proxies for each observer interface (using uncheckedCast on the topic proxy)?
On the subscriber side, can I then use a subscriber implemented as a dispatch interceptor to dispatch each event to a different handler based on the method name?
I know I could just have a separate topic for each observer type, but there are those who will not accept such a multiplicity of topics/service...
Thanks.
0
Comments
-
Hi Mark,
Yes, I believe this should work, although it's a bit "hacky". IceStorm does not know and as a result can't enforce type-ids or operation names.
One concern is the maintainability of such code. Is it really worth it? Adding more topics is not that much overhead.
Cheers,
Bernard0