1 6 7 package org.jfox.jdbc.xa; 8 9 import java.util.Hashtable ; 10 import javax.naming.Context ; 11 import javax.naming.Name ; 12 import javax.naming.Reference ; 13 import javax.naming.spi.ObjectFactory ; 14 15 18 19 public class XADataSourceObjectFactory implements ObjectFactory { 20 21 public synchronized Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable environment) throws Exception { 22 Reference ref = (Reference ) obj; 23 if(ref.getClassName().equals(TxDataSource.class.getName())) { 24 String dsName = (String ) ref.get("dsName").getContent(); 25 String dbUrl = (String ) ref.get("dbURL").getContent(); 26 String user = (String ) ref.get("user").getContent(); 27 String password = (String ) ref.get("password").getContent(); 28 29 if((dsName != null) && XADataSourceManager.existsDataSource(dsName)) { 30 return XADataSourceManager.getDataSource(dsName); 31 } 32 else { 33 TxDataSource txds = XADataSourceManager.newDataSource(dbUrl, user, password); 34 txds.init(); 35 if(dsName != null && !dsName.equals("")) { 36 XADataSourceManager.registerDataSource(dsName, txds); 37 } 38 return txds; 39 } 40 } 41 else { 42 return null; 43 } 44 } 45 46 public static void main(String [] args) { 47 48 } 49 } | Popular Tags |