发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

请教weblogic数据源使用问题

2003-09-04 17:33
赞助商链接

新手发言,不到之处请多多指点。

使用weblogic自带的oracle驱动链接oracle8i服务器。配置数据链接池
和数据源以后,如何正确使用连接池,以达到性能上的优化?
我使用如下的类去获取数据源并且获取链接:
结果发现每次去调用的时候都显得速度非常慢
我测试后发现每次都去lookup了一下数据源
这个非常浪费时间,不知道有什么办法可以不用每次去获取
数据源来获取链接?
此外,如何把获取的链接归还给数据连接池?

如果我直接对Statement和Connection进行Close()操作的话
链接是被关闭了还是返回给连接池了?
请指点迷津。不胜感激。
(weblogic8.1 oracle8i jdk1.4.1 ie6.0 )
//////////////源码附下///////////////////////////
package com.test.lancer.util;

import java.sql.*;
import javax.sql.*;
import javax.naming.*;
import java.util.Vector;
import java.util.Properties;


public class DBConnectBean{
private static Context ctx = null; //上下文
private static DataSource ds = null; //数据源

private DBConnectBean()
{
}

public static Connection getConnection() throws Exception {

if (ds == null) {
initDataSource();
}
return ds.getConnection();
}

//初始化数据源,用于获取链接
private static void initDataSource() throws Exception {
try {
if (ctx == null) {
initContext();
}
ds = (DataSource) ctx.lookup("lancer_pool");
}
catch (NamingException ex) {
log("there is something wrong when get datasource");
throw new Exception(ex.getMessage());
}
}

//初始化上下文,用于查找数据源
private static void initContext() throws Exception

{
String url = "t3://localhost:7001";
String user = null;
String password = null;
Properties properties = null;
try {
properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, url);
if (user != null) {
properties.put(Context.SECURITY_PRINCIPAL, user);
properties.put(Context.SECURITY_CREDENTIALS,
password == null ? "" : password);
}

ctx = new InitialContext(properties);
}
catch (Exception e) {
log("Unable to connect to WebLogic server at " + url);
log("Please make sure that the server is running.");
throw e;
}

}

//记录出错信息,可改写进入日志文件
private static void log(String str) {
System.out.println(str);
}
}

2008-04-28 10:12

你可以将获得的数据源使用全局变量保存,每次使用时从该数据源获得Connection对象,不用每次都查看数据源。

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com