[omniORB] Is it possible to customize request discarding (with omniORB)?

Martin B. 0xCDCDCDCD at gmx.at
Fri Aug 5 10:19:50 BST 2011


On 05.08.2011 08:55, Johnny Willemsen wrote:
> Op 5 aug. 2011 om 08:41 heeft "Martin B."<0xCDCDCDCD at gmx.at>  het volgende geschreven:
>
>> Hi!
>>
>> I have a couple of objects in one process and for a certain state I would like to discard all requests to these objects.
>>
>> I can easily achieve this through POAManager::discard_requests, but this has the drawback that the ORB/POA raises TRANSIENT (TRANSIENT_POANoResource:COMPLETED_NO to be specific) and unfortunately the clients we have at the moment are programmed to interpret TRANSIENT as "system not there" and not "object temporarily unreachable". (And I'm not sure if the minor code sent with TRANSIENT could be somehow used in the clients to get some more insight.)
>>
>> Anyways - the best thing would be if I could throw a custom user exception (or a system exception with a custom minor code) for the "discarding" state and the obvious place to put this would be the POA/POAManager for the objects that are affected. But it seems I'm out of luck here, or is there a way to achieve this?
>>
> Hi,
>
> Have you checked the server portable interceptors, you could throw an exception there.
>

omniORB doesn't currently support the portable interceptors (but it has 
it's own set of interceptors -- that are not fine-grained enough as far 
as I can tell: they do not support per-object interception, see: 
http://omniorb.sourceforge.net/omni41/omniORB/omniORB010.html ).

 From skimming the Portable Interceptors specs (in 2.6 and 3.1) it seems 
those would help as those can be set per object - am I right?

cheers,
Martin




More information about the omniORB-list mailing list