This week's giveaway is in the Spring forum.
We're giving away four copies of REST with Spring (video course) and have Eugen Paraschiv on-line!
See this thread for details.
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

Win a copy of REST with Spring (video course) this week in the Spring forum!
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 agree. Here's the link:
subject: unreferenced
It's not a secret anymore!