Two Laptop Bag
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes unreferenced Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "unreferenced" Watch "unreferenced" New topic


Gosling Gong
Ranch Hand

Joined: Jun 20, 2002
Posts: 51
Hello, ranchers!
I let my remote data implements unreferenced interface, but I found it behave strangely. I create a test client, which spawns 30 threads to bookFlight() for the same flight, it works.
after I commented the unlock(), off course there is only one thread get the lock, the others will wait. but after a period(less than 1 min), the unreferenced() in the remote data which was holding the lock was called.
I am confused why this will happen, I didn't close the client.
Anyone can show some light? thanx
Gosling Gong
Ranch Hand

Joined: Jun 20, 2002
Posts: 51
No one ever experienced such case?
Eduard Jodas
Ranch Hand

Joined: May 14, 2002
Posts: 80
Just guessing:
if your client discards or removes references to the stub that gives you access to the remote server then, after a while, the Garbage Collector will remove the object from memory. Thus, the remote object is no longer referenced and that's why its unreferenced method is called. No matter if you called close or not.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link:
subject: unreferenced
It's not a secret anymore!