KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > uk > org > primrose > vendor > resin > jndi > BindPrimroseFactory


1 /**
2 * Library name : Primrose - A Java Database Connection Pool.
3 * Published by Ben Keeping, http://primrose.org.uk .
4 * Copyright (C) 2004 Ben Keeping, primrose.org.uk
5 * Email: Use "Contact Us Form" on website
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */

21
22 package uk.org.primrose.vendor.resin.jndi;
23
24 import java.util.ArrayList JavaDoc;
25 import javax.naming.Reference JavaDoc;
26 import javax.naming.StringRefAddr JavaDoc;
27 import uk.org.primrose.pool.datasource.MasterPoolDataSourceFactory;
28
29 public class BindPrimroseFactory {
30     private String JavaDoc poolConfigFile = null;
31     private ArrayList JavaDoc pools = null;
32     public void setPoolConfigFile(String JavaDoc poolConfigFile) {
33         if (this.poolConfigFile == null) {
34             initialize(poolConfigFile);
35         }
36
37         this.poolConfigFile = poolConfigFile;
38     }
39
40     public String JavaDoc getPoolConfigFile() {
41         return this.poolConfigFile;
42     }
43
44     public void initialize(String JavaDoc poolConfigFile) {
45             // Initialize the pool and bind all objects under the non-serializable
46
try {
47                 //System.out.println("initialize " +poolConfigFile);
48
Reference JavaDoc ref = new Reference JavaDoc("uk.org.primrose.pool.datasource.MasterPoolDataSourceFactory");
49                 String JavaDoc refType = "configFile";
50                 String JavaDoc refAddr = poolConfigFile;
51                 StringRefAddr JavaDoc sra = new StringRefAddr JavaDoc(refType, refAddr);
52                 ref.add(sra);
53                 MasterPoolDataSourceFactory mpdsf = new MasterPoolDataSourceFactory();
54                 // Bind the masterPool under the non-serializable JNDI tree.
55
Object JavaDoc o = mpdsf.getObjectInstance(ref, null, null, null);
56                 this.pools = (ArrayList JavaDoc)o;
57
58             } catch (Exception JavaDoc e) {
59                 e.printStackTrace(System.out);
60             }
61     }
62
63     public ArrayList JavaDoc getPools() {
64         return pools;
65     }
66
67
68 }
Popular Tags