OK, I had a very similar problem with Solaris 8 a couple of years ago.
When your process does not gracefully close the socket the ****t it
listens on remains used for some time ( this time is configurable).
Any attepts to bind to the same ****t will fail (until the OS frees
it).
kill -9 is unmaskable, while regular kill can be caught in your
server. Implement signal handlrer ( if it is possible in Java ) that
just shuts down the ORB.
The more clean solution is to add 'shutdown' method to some root
object (or write a small servant with only this method). It would be
easier if the object with shutdown method will be persistent and
registered under POA, configured with direct persistency (check the
documentation whether OrbixWeb sup****ts direct persistency). This way
the object reference will not change between restarts.
> This is CORBA, where ****ts are an implementation detail buried in the
IOR.
Indeed, ****t allocation is implementation specific. However many
implementations allows some level of control over it.


|