I had sometime today and manage to hack up a quick and dirty solution 
for my usage. I had a look at AccessFilter like you recommended but 
found that extra work needs to be done which, I believe is not 
transparent to the publishers and subscribers. I prefer a more 
transparent way, without stating anything in the QoS. I made some 
changes to the MessageUnitHandler class (not more than 10 lines) and 
added in my own class which I named, MessageDelegate.

There are probably a lot of problems with this approach, but for the 
time being, it suits my needs. Problems are such as :
1. no runtime selection of behavior, you either use the default behavior 
or this message delegate behavior, but this can be fixed in due time.
2. probably lost of message due to a subscriber unsubscribe or go down. 
Don't know what to do here.

This is the first time I made any changes / additions to an open source 
software, so, I'm sorry if my question is naive or stupid. Should I send 
in the changes as is, or follow a certain standard / process or just 
forgetabout it??

Thanks for your time,

hamdi



Marcel Ruff wrote:

> Hamdi Mohs Yusof wrote:
>
>> Thanks for the reply. I'm just thinking of a simple round robin rule. 
>> If there are x number of subscribers, I need to keep track of the 
>> next subscriber to send to.
>>
>> For example, say there are 5 subscribers (S1 until S5) and 8 new 
>> messages (M1 until M8). First round, all 5 subscribers will get 1 
>> message (S1 gets M1, S2 gets M2 ... S5 gets M5). Second round, S1 
>> gets M6 .... S3 gets M8. The next message that comes in will be sent 
>> to S4.
>>
>> Is AccessFilter plugin the right way to go about this? I certainly 
>> don't mind digging deep into it if it is. 
>
>
> Yes, AccessFilter plugin is your solution.
>
> S1 - S5 subscribe to the same message say
>
>  <key oid='AccountWithdrawMoney' contentMime='text/finance'/>
>
> which happens very frequently so that you need a round robin for 
> performance
> reasons.
>
> S1-S5 can send some filter rule in their subscribe QoS which your
> plugin uses to decide who will get it.
>
> Your plugin registers itself for mime='text/finance' to be
> only consulted for messages of this type.
>
> cu,
>
> Marcel
>
>
>
>


Reply via email to