On Tue, 3 Apr 2001, Torgeir Veimo wrote:

> I've read in a post by Remy with subject: "Re: <ejb-ref> <ejb-link>
> Implementation in 4.0.b1",
> http://w4.metronet.com/~wjm/tomcat/2001/Mar/msg00273.html that the only
> two factories supported in tomcat right now is one for getting Tyrex
> managed data sources & User Transactions.
> 

This message is actually out of date now.  There are also default
factories to create javax.mail.Session and
javax.mail.internet.MimePartDataSource as well.

> I'm interested in getting a resource factory that I've created myself to
> reuse jndi context's to an LDAP database that is used for authentication
> & more.
> 
> I've created a ContextPool that handles this, and I want to retrieve
> this with initCtx.lookup("java:comp/env/jndi/ContextPool");
> 
> How do I create and add the necessary resource factory? Should I modify
> org.apache.naming.factroy.ResourceFactory.java ?
> 

If you don't mind specifying the resource factory class yourself, you
don't need to modify any code at all -- just configure it in server.xml
like this:

  <Context path="/myapp" ... >
    ...
    <Resource name="jndi/ContextPool"
              type="com.mycompany.ContextPool"/>
    <ResouceParams name="jndi/ContextPool">
      <parameter>
        <name>factory</name>
        <value>com.mycompany.ContextPoolFactory</value>
      </parameter>
      <parameter><name>name</name><value>value</value></parameter>
      ...
    </ResourceParams>
    ...
  </Context>

where "com.mycompany.ContextPoolFactory" is a class that implements
javax.naming.spi.ObjectFactory.  You can use the existing factories as
examples of how such factories can access the declared resource parameters
and use them to configure the object itself.

> Any hints appreciated.
> 
> 
> -- 
> - Torgeir
> 

Craig McClanahan


Reply via email to