NAME
ResourcePool::Resource - A ResourcePool wrapper class for a resource
SYNOPSIS
use ResourcePool::Resource;
my $resource = ResourcePool::Resource->new();
DESCRIPTION
This class is a base class for the resources which will be used with ResourcePool. ResourcePool uses this class internally to have a unique interface to interact with the resource.
Each ResourcePool::Resource class gets constructed by the corresponding ResourcePool::Factory class. In fact the Factory classes are just used to store the parameters which are required to construct a resource.
Every class which is derived from ResourcePool::Resource must override the close, fail_close and get_plain_resource methods and should override at least one of precheck or postcheck.
$resource->close
Closes a connection gracefully.
Returns: undef
$resource->fail_close
Closes a failed connection and ignores error (since this connection is known to be broken)
Returns: undef
$resource->get_plain_resource
Returns the naked resource which can be used by the client. This is the DBI or Net::LDAP handle for example.
Returns: a reference to a object
$resource->precheck
Checks a connection. This method is called by the get() method of the ResourcePool before it returns a connection. The default implementation always returns true.
Returns: true if the connection is valid
$resource->postcheck
Checks a connection. This method is called by the free() method of the ResourcePool to check if a connection is still valid. The default implementation always returns true.
Returns: true if the connection is valid
SEE ALSO
ResourcePool, ResourcePool::Resource::DBI, ResourcePool::Resource::Net::LDAP
AUTHOR
Copyright (C) 2001-2009 by Markus Winand <mws@fatalmind.com>
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.