KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jfox > jdbc > xa > DB2XADataSource


1 /* JFox, the OpenSource J2EE Application Server
2  *
3  * Distributable under GNU LGPL license by gun.org
4  * more details please visit http://www.huihoo.org/jfox
5  */

6
7 package org.jfox.jdbc.xa;
8
9 import javax.sql.XADataSource JavaDoc;
10
11 /**
12  * 只支持 app 驱动
13  *
14  * @author <a HREF="mailto:young_yy@hotmail.com">Young Yang</a>
15  */

16
17 public class DB2XADataSource extends AbstractXADataSource {
18
19     public DB2XADataSource(String JavaDoc url) {
20         super(url);
21     }
22
23     public XADataSource JavaDoc init(String JavaDoc url) {
24         try {
25             XADataSource JavaDoc db2XaDS = (XADataSource JavaDoc) this.getClass().getClassLoader().loadClass("COM.ibm.db2.jdbc.DB2XADataSource").newInstance();
26             URLProperties urlProp = parseSqlURL(url);
27             if(urlProp.containsKey("serverName")) {
28 // db2XaDS.setServerName(urlProp.getProperty("serverName"));
29
// db2XaDS.getClass().getMethod("serServerName",new Class[]{String.class}).invoke(db2XaDS,new Object[]{urlProp.getProperty("serverName")});
30
}
31
32             if(urlProp.containsKey("portNumber")) {
33 // db2XaDS.setPortNumber(Integer.parseInt(urlProp.getProperty("portNumber")));
34
db2XaDS.getClass().getMethod("setPortNumber", new Class JavaDoc[]{int.class}).invoke(db2XaDS, new Object JavaDoc[]{new Integer JavaDoc(urlProp.getProperty("portNumber"))});
35             }
36
37             if(urlProp.containsKey("databaseName")) {
38 // db2XaDS.setDatabaseName(urlProp.getProperty("databaseName"));
39
db2XaDS.getClass().getMethod("setDatabaseName", new Class JavaDoc[]{String JavaDoc.class}).invoke(db2XaDS, new Object JavaDoc[]{urlProp.getProperty("databaseName")});
40             }
41
42             if(urlProp.containsKey("connectionAttribute")) {
43 // db2XaDS.setConnectionAttribute(urlProp.getProperty("connectionAttribute"));
44
db2XaDS.getClass().getMethod("setConnectionAttribute", new Class JavaDoc[]{String JavaDoc.class}).invoke(db2XaDS, new Object JavaDoc[]{urlProp.getProperty("connectionAttribute")});
45             }
46
47             if(urlProp.containsKey("language")) {
48 // db2XaDS.setLanguage(urlProp.getProperty("language"));
49
db2XaDS.getClass().getMethod("setLanguage", new Class JavaDoc[]{String JavaDoc.class}).invoke(db2XaDS, new Object JavaDoc[]{urlProp.getProperty("language")});
50             }
51             // 如果 ServerName 不为 null,将采用 net 驱动,但是 DB2 net 驱动有问题
52
// db2XaDS.setServerName(null);
53

54             return db2XaDS;
55         }
56         catch(Exception JavaDoc e) {
57             e.printStackTrace();
58             return null;
59         }
60     }
61
62     public static void main(String JavaDoc[] args) {
63
64     }
65 }
Popular Tags