获取WEBLOGIC控制台配置的JNDI数据源,并创建Connection
2012-01-11 10:30
344 查看
package Beans; import java.util.Map; import java.util.HashMap; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; public class ServiceLocator { private javax.naming.Context ic; private String dsName ="myjndi"; private Map cache = new HashMap(); private static ServiceLocator me; /** * */ private ServiceLocator() { try { this.ic = new InitialContext(); } catch (NamingException e) { System.out.println("** ServiceLocator.ServiceLocator() 无法初始化InitialContext"); } } //返回实例 public static ServiceLocator getInstance() { if (null == me) me = new ServiceLocator(); return me; } public DataSource getDataSource(String dataSourceName) { DataSource dataSource = null; try { if (cache.containsKey(dataSourceName)) { dataSource = (DataSource)cache.get(dataSourceName); } else { //Context envCtx=(Context)ic.lookup("java:comp/env"); dataSource = (DataSource)ic.lookup(this.dsName); cache.put(this.dsName, dataSource); } } catch (NamingException e) { System.out.println("==========没有找到服务名称" + dataSourceName + "==========");; } return dataSource; } public DataSource getDataSource() { DataSource dataSource = null; try { if (cache.containsKey(this.dsName)) { dataSource = (DataSource)cache.get(this.dsName); } else { dataSource = (DataSource)ic.lookup(this.dsName); cache.put(this.dsName, dataSource); } } catch (NamingException e) { System.out.println("==========没有找到服务名称" + this.dsName + "==========");; } return dataSource; } }
“myjndi”是WEBLOGIC上配置的数据源的JNDI NAME,
这里要注意的是查看你的DATA SOURCE是否成功发布,修改了JNDI NAME啊或者其他的参数后数据源的DEVELOP会置为FALSE。这时候最好是删除重新创建重新发布一下。我今天在用JNDI数据源的时候弄了几个小时老是不能成功取到数据源,还以为是我取数据源的方式有问题还是JNDI名字有问题,后面对比另外一台电脑上的WEBLOGIC才发现原来是DEVELOP为FALSE了,于是重新创建了一下,果然成功了,真是坑爹啊。4个小时就这么浪费了,不过走过的弯路是以后的财富。
相关文章推荐
- 使用JNDI获取数据源的连接配置步骤:
- java使用JNDI 获取weblogic配置的数据源 连接数据库
- 用JAVA代码获取Weblogic配置的JNDI 数据源连接
- 用JAVA代码获取Weblogic配置的JNDI 数据源连接
- java使用JNDI 获取weblogic配置的数据源 连接数据库
- tomcat配置JNDI获取数据源
- 数据库连接配置4 -- 获取JNDI数据源
- java使用JNDI 获取weblogic配置的数据源 连接数据库
- Spring通过JNDI获取在Tomcat容器中配置的C3P0数据源
- 获取springmvc配置的jndi的数据源
- Spring通过JNDI获取在Tomcat容器中配置的C3P0数据源
- 用JAVA代码获取Weblogic配置的JNDI 数据源连接
- tomcat中配置jndi数据源以便spring获取
- 配置Spring通过JNDI获取数据源
- JNDI+Spring获取配置数据源的三种方法
- Springmvc +JNDI 在Tomcat下 配置数据源(转)
- Spring+Tomcat的JNDI数据源连接池简单配置
- jboss下数据源jndi配置
- Spring配置JNDI及通过JNDI获取DataSource