[omniORB] 3 questions about CORBA, IIOP, and omniORB

Michael omniorb at bindone.de
Wed Dec 17 21:54:07 GMT 2008


About your last question: Depending on your requirements, the easiest
way to go is to use persistent objects and a default servant (if you're
concerned about memory usage). There a many different ways of
accomplishing what you want in CORBA, so you should try to chose the
easiest/least error prone. Without more details about your
implementation requirements it's hard to give you more discreet advice.

Thomas Zumbiehl wrote:
> Hi,
>  
> I can sometimes see some strange behavior in my server, compiled with omniORB 4.0.7 :
> I send 50 identical requests to my server, sometimes 2 fail.
> When it fails, I can see these (abnormal, to my application point of view) omniORB traces :
> 2008/12/17 11-14-32 : omniORB: (38) 
> 4749 4f50 0102 0100 a400 0000 1306 0000 GIOP............
> 0300 0000 0000 0000 1700 0000 ff62 6964 .............bid
> 6972 706f 61fe 3ccc 4849 0100 1bb9 0000 irpoa.<.HI......
> 0000 a750 1000 0000 6765 7453 656c 6563 ...P....getSelec
> 7452 6573 756c 7400 0000 0000 0000 0000 tResult.........
> 1200 0000 4167 656e 7449 436c 6553 6572 ....AgentICleSer
> 7669 6365 7300 0001 0100 0000 1b00 0000 vices...........
> 4943 6c65 4e61 6d65 2c53 6572 7669 6365 ICleName,Service
> 5479 7065 2c4c 6162 656c 0039 1400 0000 Type,Label.9....
> 5365 7276 6963 654e 616d 653d 5243 3832 ServiceName=RC82
> 5048 4100 0100 0000 0031 3839 0000 0000 PHA......189....
> 2008/12/17 11-14-32 : omniORB: (38) Dispatching remote call 'getSelectResult' to: root/bidirpoa<167> (active)
> ...
> 2008/12/17 11-14-32 : omniORB: (38) omniRemoteIdentity deleted.
> 2008/12/17 11-14-32 : omniORB: (38) ObjRef(IDL:corbacom/LogServiceInterface:1.0) -- deleted.
> ...
> 2008/12/17 11-14-32 : omniORB: (38) sendChunk: to giop:tcp:10.151.35.219:41645 28 bytes
> 2008/12/17 11-14-32 : omniORB: (38) 
> 4749 4f50 0102 0101 1000 0000 1306 0000 GIOP............
> 0000 0000 0000 0000 0000 0000           ............
> That bring my global system wrong.
>  
>  
> So, first question : I there any kind of way omniORB could delete an omniRemoteIdentity where it should not, or is it possible that it is displaying wrong information ?
> The fact is that the same sequence occurs at both one of the two failures. And omniORB says, two times, that the omniRemoteIdentity is deleted, while there should be only one holded (set earlier in the application) ?
>  
> Second question : What is the meaning of the 28 bytes chunk sent ? It seems to be understood as a reply to the getSelectResult() request...
>  
> Third question : My server needs to hold interfaces for a while, but those need to be deactivated while they are not used (I use a close() request to tell an interface that it can be destroyed). How should I handle the servant activation/deactivation ?
> For now, I use the POA's activate_object() and deactivate_object() methods, but I am now thinking I can be wrong.
> For instance, I know that calling the _this() method on a servant will automaticaly activate it, but how can I deactivate it ?
>  
> I know that I ask many questions, and that some answer can be trivial, but I am really lost in that "funny" problem.
>  
> Cheers,
> Thomas
>  
> Thomas Zumbiehl
> Chef de Projet Développement
> BV Associates
> http://www.bvassociates.fr <http://www.bvassociates.fr/> 
>  
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> omniORB-list mailing list
> omniORB-list at omniorb-support.com
> http://www.omniorb-support.com/mailman/listinfo/omniorb-list



More information about the omniORB-list mailing list