Apache::Singleton(3pm)

Apache::Singleton3pm

Singleton class for mod_perl

Usage

  package Printer;
  # default:
  #   Request for mod_perl env
  #   Process for non-mod_perl env
  use base qw(Apache::Singleton);
  package Printer::PerRequest;
  use base qw(Apache::Singleton::Request);
  package Printer::PerProcess;
  use base qw(Apache::Singleton::Process);

Version

version 0.17

Overview

Apache::Singleton works the same as Class::Singleton, but with various object lifetime (scope). See Class::Singleton first.

Object lifetime

By inheriting one of the following sublasses of Apache::Singleton, you can change the scope of your object.

Request
  use base qw(Apache::Singleton::Request);

One instance for one request. Apache::Singleton will remove instance on each request. Implemented using mod_perl "pnotes" API. In mod_perl environment (where $ENV{MOD_PERL} is defined), this is the default scope, so inheriting from Apache::Singleton would do the same effect.

NOTE: You need "PerlOptions +GlobalRequest" in your apache configuration in order to use the Request lifetime method.

Process
  use base qw(Apache::Singleton::Process);

One instance for one httpd process. Implemented using package global. In non-mod_perl environment, this is the default scope, and you may notice this is the same beaviour with Class::Singleton ;)

So you can use this module safely under non-mod_perl environment.

Credits

Original idea by Matt Sergeant <[email protected]> and Perrin Harkins <[email protected]>.

Initial implementation and versions 0.01 to 0.07 by Tatsuhiko Miyagawa <[email protected]>.

Source

The development version is on github at <https://github.com/mschout/apache-singleton> and may be cloned from <git://github.com/mschout/apache-singleton.git>

Releases

11 releases since Debian 3.1 (Sarge); the text changed 5 times.

  1. 3.1
  2. 4.0–6.0
  3. 7–8
  4. 9
  5. 10–11
  6. 12–13

Bugs

Please report any bugs or feature requests to [email protected] or through the web interface at:
http://rt.cpan.org/Public/Dist/Display.html?Name=Apache-Singleton

Author

Michael Schout <[email protected]>

From libapache-singleton-perl 0.17-2 in Debian 13 (Trixie). Parsed by carta from the page's man source.