[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