[omniORB] Delay when calling callback to Java first time
Viktor Mikho
vvmikho@hotmail.com
Tue, 01 Aug 2000 02:20:59 GMT
I am not sure if I am doing something wrong or it is a genuine problem.
I have Java 1.2 client and omniOrb 2.8 server on NT4.
Java client creates at some stage callback object:
m_monitor = new ProgressMonitorImplJ(m_deviceRequestTable);
m_orb.connect(m_monitor);
Then this callback object is registered with the server:
m_mgrRef.registerCallback(m_monitor);
When time comes, server tries to call oneway method uploadeStateChanged()
using the m_monitor. It works fine but the very first time when method on
this object is called there is a 30 seconds delay. Consecutive calls take
fractions of seconds. I used a debugger to see what happens. Here is a
sequence of calls:
_proxy_ProgressMonitor::uploadeStateChanged(const DeviceRequestT & u)
....
OmniProxyCallWrapper::one_way(this, _call_desc);
....
if (omniORB::verifyObjectExistsAndType)
o->assertObjectExistent();
....
switch (_c.IssueLocateRequest(rak.key(),rak.keysize()))
....
get_char_array((CORBA::Char*)hdr, sizeof(MessageHeader::HeaderType),
omni::ALIGN_1, 1);
Something within get_char_array blocks for 30 seconds – I could not track it
using debugger.
Can anyone tell me what I am doing wrong?
Thanks,
Viktor
PS. m_monitor method is called from a dedicated thread but problem is
exactly the same when it is called from some of the server methods.
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com