I am not sure, but I think the problem you have is that Apache:BI ignores
any disconnect() calls on database handles, and doesn't actually disconnect.

----- Original Message -----
From: "Jordan McLain"
Sent: Tuesday, October 10, 2006 10:57 PM
Subject: DESTROY

>I have written a handler that calls a constructor to a module that I
> have written. I do not believe that the subsequent destructor is
> being called unless I explicitly call it. Is this a feature of
> mod_perl? I would think that every time an instance of the module is
> created, it would be destroyed properly when using mod_perl.
> The reason I am doing this, is that I am testing to see if I want to
> continue using Apache:BI. I have 4 databases that need to be
> connected to, and I end up having alot of MySQL threads hanging out if
> I use Apache:BI. The problem comes in that I have all disconnects
> in the DESTROY method for the module(all of my database interaction is
> abstracted using an OO module) and I end up having no difference
> between Apache:BI and using only DBI (threads stay persistent)
> unless I call destroy explicitly from the handler ( $db->DESTROY ).
> sub DESTROY {
> my $self = shift;
> $self->dbh->disconnect() if defined $self->dbh;
> }