KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mchange > v2 > c3p0 > test > JndiBindTest


1 /*
2  * Distributed as part of c3p0 v.0.9.1
3  *
4  * Copyright (C) 2005 Machinery For Change, Inc.
5  *
6  * Author: Steve Waldman <swaldman@mchange.com>
7  *
8  * This library is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License version 2.1, as
10  * published by the Free Software Foundation.
11  *
12  * This software 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
15  * GNU Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public License
18  * along with this software; see the file LICENSE. If not, write to the
19  * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */

22
23
24 package com.mchange.v2.c3p0.test;
25
26 import javax.naming.*;
27 import javax.sql.*;
28 import com.mchange.v2.c3p0.*;
29
30 public final class JndiBindTest
31 {
32     public static void main(String JavaDoc[] argv)
33     {
34     try
35         {
36         String JavaDoc driverClass = null;
37         String JavaDoc jdbc_url = null;
38         String JavaDoc username = null;
39         String JavaDoc password = null;
40         String JavaDoc dmds_name = null;
41         String JavaDoc cpds_name = null;
42         String JavaDoc pbds_name = null;
43
44         if (argv.length == 7)
45             {
46             driverClass = argv[0];
47             jdbc_url = argv[1];
48             username = argv[2];
49             password = argv[3];
50             dmds_name = argv[4];
51             cpds_name = argv[5];
52             pbds_name = argv[6];
53             }
54         else if (argv.length == 5)
55             {
56             driverClass = argv[0];
57             jdbc_url = argv[1];
58             username = null;
59             password = null;
60             dmds_name = argv[2];
61             cpds_name = argv[3];
62             pbds_name = argv[4];
63             }
64         else
65             usage();
66
67         if (! jdbc_url.startsWith("jdbc:") )
68             usage();
69
70         DataSource dmds = DriverManagerDataSourceFactory.create( driverClass,
71                                      jdbc_url,
72                                      username,
73                                      password );
74         WrapperConnectionPoolDataSource cpds = new WrapperConnectionPoolDataSource();
75         cpds.setNestedDataSource(dmds);
76         DataSource pbds = PoolBackedDataSourceFactory.create( driverClass,
77                                       jdbc_url,
78                                       username,
79                                       password );
80
81         InitialContext ctx = new InitialContext();
82         ctx.rebind( dmds_name , dmds );
83         System.out.println( "DriverManagerDataSource bounds as " + dmds_name );
84         ctx.rebind( cpds_name , cpds );
85         System.out.println( "ConnectionPoolDataSource bounds as " + cpds_name );
86         ctx.rebind( pbds_name , pbds );
87         System.out.println( "PoolDataSource bounds as " + pbds_name );
88         }
89     catch (Exception JavaDoc e)
90         { e.printStackTrace(); }
91     }
92
93     private static void usage()
94     {
95     System.err.println("java " + JndiBindTest.class.getName() + " \\");
96     System.err.println("\t<jdbc_driver_class> \\");
97     System.err.println("\t<jdbc_url> [<username> <password>] \\");
98     System.err.println("\t<dmds_name> <cpds_name> <pbds_name>" );
99     System.exit(-1);
100     }
101 }
102
Popular Tags