Raheel Abdul Hameed
2006-07-01 18:49:00 UTC
Hi everyone,
I am using a GPRS based TCP/IP link using a GPRS modem. These GPRS networks seems to be a bit lossy due to radio / wireless interference.
On such links if we use CORBA calls, then sometimes these calls get lost and after the timeout, we get CORBA::TRANSIENT exception in return.
Just to bring you in context, I am working on a point-of-sales system that is a CORBA client and connects to a server to register sales, behind GPRS link that is hardly 19200 bps. The actual flow is like this:
1) name service stuff
2) getting controllerFactory
3) asking controllerFactory for individual controllers like sellController, payController, reportController etc.
4) at this point, we can make sellController->sell, payController->pay, reportController->getReport calls.
My question is simple and tricky, what to do if we get CORBA::TRANSIENT exception when we make a call to sell/pay, can we always retry the call ? or do we need to start from scratch (from step 1 above till step 4) .... this whole restart process is time consuming and hence prone to another CORBA::TRANSIENT exception if the wireless link gets lossy in between..... what is the quickest way to be able to make the sell/pay (step 4) calls.... without restarting the process.....??
I hope that i am clear in stating my problem. I'll appreciate any help. Thanks for your time.
Regards,
Raheel Hameed
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20060701/2ee872a3/attachment.htm
I am using a GPRS based TCP/IP link using a GPRS modem. These GPRS networks seems to be a bit lossy due to radio / wireless interference.
On such links if we use CORBA calls, then sometimes these calls get lost and after the timeout, we get CORBA::TRANSIENT exception in return.
Just to bring you in context, I am working on a point-of-sales system that is a CORBA client and connects to a server to register sales, behind GPRS link that is hardly 19200 bps. The actual flow is like this:
1) name service stuff
2) getting controllerFactory
3) asking controllerFactory for individual controllers like sellController, payController, reportController etc.
4) at this point, we can make sellController->sell, payController->pay, reportController->getReport calls.
My question is simple and tricky, what to do if we get CORBA::TRANSIENT exception when we make a call to sell/pay, can we always retry the call ? or do we need to start from scratch (from step 1 above till step 4) .... this whole restart process is time consuming and hence prone to another CORBA::TRANSIENT exception if the wireless link gets lossy in between..... what is the quickest way to be able to make the sell/pay (step 4) calls.... without restarting the process.....??
I hope that i am clear in stating my problem. I'll appreciate any help. Thanks for your time.
Regards,
Raheel Hameed
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20060701/2ee872a3/attachment.htm