|
NoEndpointException and dynamic loading using IcePack
We have been using IcePack successfully on Unix and Windows for a while now and we are really happy with it, indirect binding and on-demand activation are great features. We give icepackadmin an application file and then when we try to access the proxy of a service that has not yet been started, IcePack starts up the service automatically as you would expect.
However, we have recently noticed an issue with on-demand activation when we try to access the proxy for services contained in a large (~12 Meg) .so files or large jar files. We get a NoEndpointException when trying to do a checkedCast when trying to build the proxy for the first time:
Ice.NoEndpointException
proxy = "Demo_MarketBank -t @ Demo_MarketBank-Demo_MarketBank.Demo_MarketBank"
at IceInternal.Reference.getConnection(Reference.java :646)
at Ice._ObjectDelM.setup(_ObjectDelM.java:216)
at Ice.ObjectPrxHelper.__getDelegate(ObjectPrxHelper. java:657)
at Ice.ObjectPrxHelper.ice_isA(ObjectPrxHelper.java:4 6)
at Ice.ObjectPrxHelper.ice_isA(ObjectPrxHelper.java:3 4)
at icy.conductor.ConductorServantFacetPrxHelper.check edCast(ConductorServantFacetPrxHelper.java:213)
at icy.conductor.PlatformView.buildProxy(PlatformView .java:236)
After the client side receives this exception, THEN we see from a debug statement that our service gets started in our overriden IceBox::start method (perhaps because you thread out the starting of the service? )
If we then try to go through the same series of steps to build the proxy a second time, it works! We can access our servant and go to town.
Again, this does NOT happen when smaller files have to be dynamically loaded by IcePack. Not positive, of course, this loading thing is the issue, but only clue we could find.
Just in case, we took out any timeout specifications we had using "-t" and now use the Ice.Override.Timeout=-1 setting in our configuration file.
We can't send you our libraries so we were just wondering if this is something you could test on your end and see if, in fact, this is a bug.
Thoughts and/or suggestions welcome.
Thanks,
Brian
|