Archived

This forum has been archived. Please start a new discussion on GitHub.

No ice_collocationOptimization method in python

Hello,

I have got the problem that the client and servant runs in the same process and throws the collocationOptimizationException. For this reason I want to disable the collocation with the method "proxy.ice_collocationOptimization(bool b)" in python as explained in the manual. But in python this method doesn't exist! There are several implemented as described in chapter 29.8, but not all, like the ice_collocationOptimization, are available.

How can I disable collocation?

Thanks!
Wolfgang

Comments

  • mes
    mes California
    Hi Wolfgang,

    I'm afraid that Ice for Python does not currently allow you to use a proxy to invoke an operation on a local servant. The good news is that this limitation will be removed in the next Ice release.

    Meanwhile, you have a few alternatives. For example, you can invoke on the servant directly, instead of using a proxy. Or, you could create your proxy using a different communicator instance.

    Hope that helps,
    - Mark
  • When will be this new release available?

    mes wrote:
    The good news is that this limitation will be removed in the next Ice release.
  • mes
    mes California
    wgwolf wrote:
    When will be this new release available?
    See this thread.

    - Mark
  • ice_collocationOptimization in Python missing

    Hi Mark,

    now we have Ice 3.0 installed, but the ice_collocationOptimization-method is still missing in Python.
    What can we do?

    Wolfgang
    mes wrote:
    See this thread.

    - Mark
  • mes
    mes California
    wgwolf wrote:
    now we have Ice 3.0 installed, but the ice_collocationOptimization-method is still missing in Python.
    What can we do?
    That's correct, ice_collocationOptimization is not provided because collocated invocations cannot be optimized in the current Ice for Python implementation. In prior releases, any attempt to invoke an operation on a collocated servant caused an exception. As of Ice 3.0, these invocations are supported, but they are not optimized. In other words, an invocation on a local servant is still marshaled and sent "over the wire" to the object adapter.

    In short, you should not need to modify your application to invoke on a local servant. Have you tried running your application with Ice 3.0?

    Take care,
    - Mark