1 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 [] argv) 33 { 34 try 35 { 36 String driverClass = null; 37 String jdbc_url = null; 38 String username = null; 39 String password = null; 40 String dmds_name = null; 41 String cpds_name = null; 42 String 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 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 |