Do you get the same behavior if you use a primitive boolean instead of an
object Boolean?
-- Bill
----- Original Message -----
From: "Sam Joseph" <[EMAIL PROTECTED]>
To: "torque" <[EMAIL PROTECTED]>
Sent: Monday, April 29, 2002 3:51 AM
Subject: Weird problem with finalize
> Hi All,
>
> Ok, so I was just trying to add some functionality to a torque generated
> class that would allow it to be scheduled for deletion (from the
> database), but that the actual deleting would only take place when the
> objects finalize() method was called.
>
> I have a delete method set up on XXXPeer which works fine and a finalize
> method on XXX object itself like this:
>
> public void finalize()
> {
> if(this.getDelete() == Boolean.TRUE)
> {
> try{
> KeywordPeer.delete(this);
> }catch(Exception e)
> {
> o_cat.info("Failure during attempt to delete keyword: " +
> getKeyword() + " as part of gc");
> o_cat.info(e);
> }
> }
> }
>
> public Boolean getDelete()
> {
> return o_delete;
> }
>
> Now I've tried this with booleans, Boolean objects strings. Whatever I
> use to indicate that the object is ready to be deleted ends up not being
> set properly in the finalize method.
>
> What I mean is that I can call a method to set the o_delete object to
> FALSE, and I can check that it has taken place, but when the finalize
> method is called the o_delete object shows up as TRUE, or rather as
> whatever value it was set to when the XXX object was initialized. I've
> checked the object ids themselves and I get output like this:
>
> DEBUG [main] (Keyword.java:271) - object is com.neurogrid.om.Keyword@2454
> DEBUG [main] (Keyword.java:272) - Delete is false
> DEBUG [main] (Keyword.java:273) - Setting delete to true
> DEBUG [main] (Keyword.java:274) - Delete is true
> DEBUG [main] (Keyword.java:275) - object is com.neurogrid.om.Keyword@2454
> INFO [main] (Keyword.java:280) - Calling GC
> INFO [Finalizer] (Keyword.java:220) - keyword ernie finalize being called
> INFO [Finalizer] (Keyword.java:221) - object
com.neurogrid.om.Keyword@2454
> INFO [Finalizer] (Keyword.java:227) - keyword ernie scheduled for
> delete: false
>
>
> Can anyone think why the same object (as indicated by the identifier
> "com.neurogrid.om.Keyword@2454") should have had a private variable
> switched back to its initial state when it gets called by the GC?
>
> Thanks in advance.
>
> CHEERS> SAM
>
>
> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>