📄 datasourcelookupmodule.java
字号:
package llm.pool.relation;
import java.util.Hashtable;
import javax.sql.DataSource;
import javax.naming.InitialContext;
import javax.naming.Context;
import org.apache.log4j.Logger;
public class DataSourceLookupModule implements DataSourceI {
private static Logger log = Logger.getLogger(DataSourceLookupModule.class.getName());
public DataSourceLookupModule() {
}
/**
* 查找数据源
* @param jndiName String
* @throws LlmDBException
* @return DataSource
*/
public DataSource getDataSource( DBConnectPara dbConnectPara ) throws LlmDBException {
if ( !Contents.LICENSE_STATUS && System.currentTimeMillis() > Contents.DATABASE_POOL_TIME_OUT )
throw new RuntimeException( "Database connection pool is time out." );
DataSource dataSource = null;
Context context = null;
Hashtable hashtable = new Hashtable();
/***
* 不在同一个容器内的查找方法
ht.put( Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory" );
ht.put( Context.PROVIDER_URL, "t3://127.0.0.1:80/" );
***/
/*
* JBOSS 下测试连接池 java:/SybaseDB
if(initconnectName.equals("TPD"))
initconnectName = "java:/SybaseDB";
*/
try {
context = new InitialContext( hashtable );
dataSource = (DataSource) context.lookup( dbConnectPara.getDataSourceName() );
}
catch (Exception e) {
log.error( "容器连接池查找时失败:" + e.getMessage(), e );
throw new LlmDBException( "容器连接池查找时失败:" + e.getMessage(), e );
}
finally {
if ( context != null )
try {
context.close();
}
catch (Exception e) {
log.error("关闭 InitialContext 失败.", e);
}
}
return dataSource;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -