Hi Andrea,
With Ice, each object ID is supposed to be unique (within the scope of a given application/deployment). You can't / shouldn't have two separate objects with the same ID, and if you do, sometimes your application may work, sometimes you will get unexpected and hard-to-figure out results.
Within a Glacier2 session, you are actually assigning a proxy to an object ID the first time you make a call on a given object. So the expected behavior with your little test is:
Code:
proxy = self.communicator().stringToProxy(proxyStr)
proxy.ice_ping()
The Glacier2 router forwards this ice_ping to the test/00001 object, and to do so Glacier2 resolves the provided adapter-ID using its configured Ice locator.
Code:
proxy2 = self.communicator().stringToProxy(proxyFake)
proxy2.ice_ping()
The Glacier2 router forwards this ice_ping to the same (first) test/00001 object, because the previous called associated a proxy to this object ID.
Then, if you want to test session closing and reestablishment, please upgrade to Ice 3.4.1; Ice 3.4.1 incorporates a number of bug fixes and enhancements in this area.
All the best,
Bernard