org.apache.cayenne.conn
Class ContainerPoolFactory

java.lang.Object
  extended by org.apache.cayenne.conn.ContainerPoolFactory
All Implemented Interfaces:
ObjectFactory

public class ContainerPoolFactory
extends Object
implements ObjectFactory

Basic JNDI object factory that creates an instance of PoolManager that has been configured based on the RefAddr values of the specified Reference.

Here is a sample Tomcat 4.x configuration that sets this class as a default factory for javax.sql.DataSource objects:

<ResourceParams name="jdbc/mydb">
    <parameter>
        <name>factory</name>
        <value>org.apache.cayenne.conn.ContainerPoolFactory</value>
    </parameter>

    <parameter>
        <name>username</name>
        <value>andrei</value>
    </parameter>

    <parameter>
        <name>password</name>
        <value>bla-bla</value>
    </parameter>

    <parameter>
        <name>driver</name>
        <value>org.gjt.mm.mysql.Driver</value>
    </parameter>

    <parameter>
        <name>url</name>
        <value>jdbc:mysql://noise/cayenne</value>
    </parameter>

    <parameter>
        <name>min</name>
        <value>1</value>
    </parameter>

    <parameter>
        <name>max</name>
        <value>3</value>
    </parameter>
</ResourceParams>

After ContainerPoolFactory was configured to be used within the container (see above for Tomcat example), you can reference your "jdbc/mydb" DataSource in web application deployment descriptor like that (per Servlet Specification):

<resource-ref>
    <es-ref-name>jdbc/mydb</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>


Constructor Summary
ContainerPoolFactory()
           
 
Method Summary
 Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable environment)
          Creates and returns a new PoolManager instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContainerPoolFactory

public ContainerPoolFactory()
Method Detail

getObjectInstance

public Object getObjectInstance(Object obj,
                                Name name,
                                Context nameCtx,
                                Hashtable environment)
                         throws Exception

Creates and returns a new PoolManager instance. If no instance can be created, returns null instead.

Specified by:
getObjectInstance in interface ObjectFactory
Parameters:
obj - The possibly null object containing location or reference information that can be used in creating an object
name - The name of this object relative to nameCtx
nameCtx - The context relative to which the name parameter is specified, or null if name is relative to the default initial context
environment - The possibly null environment that is used in creating this object
Throws:
Exception - if an exception occurs creating the instance


Copyright © 2001-2011 Apache Cayenne. All Rights Reserved.