WebLogic中查看连接池的使用情况
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebLogic中查看连接池的使用情况相关的知识,希望对你有一定的参考价值。
哪位大虾知道怎么看WebLogic中连接池中连接的使用情况,请详细解释下,谢谢
两种使用weblogic连接池的方法:
WEB应用:
鉴于连接池的优越性,WEB的任何一个应用,只要和数据库关联,想连接池肯定是首选,连接池为解决这种“多次、短时间”的交互提供了最佳的解决方法。
首先,在weblogic控制台建立连接池,然后新建一个数据源使用建立好的连接池,确认数据源激活,并记下JNDI的名字,这个很关键,因为要靠它来获取连接,只有获取了连接才能进行其他的数据库操作。
其次在Myeclipse中新建java web工程,这个工程很简单,就是把自动生成的index.jsp稍加改造即可,其他的什么都不用改。下面是测试代码(index.jsp)。
(1)import包含进来的包要齐全,javax.naming.*,javax.sql.*,java.sql.*,都是不能少的。
(2)lookup()函数的参数是配置数据源时的JNDI的名称,这里配置的名称是:JNDI_scott,所以写在了参数中。
(3)其他的没有了,就是这么简单,再要注意的就是发布的问题,要跟你配置的数据源部署到同一个域同一个服务器中,否则在上下文中找不到JNDI。
(4)用web连接数据源作测试就这么简单的成功了,下面附带图片和工程目录。
JAVA应用:
首先还是在Myeclipse中新建一个java过程,当然了先是创建一个生成连接的类Connect.java,代码如下:
这里说明的是:
import的包要齐全。
在哈希表中放置生成上下文实例的两个参数:Context.INITIAL_CONTEXT_FACTORY。Context.PROVIDER_URL。
对于weblogic而言,第一个值是已经定好的就是:"weblogic.jndi.WLInitialContextFactory",它实际上时weblogic.jar中的一个类。
对于URL而言,前面是协议,后面是IP地址,再后面就是对应域名的端口号。例:"t3://172.16.1.200:7002"。
将t3改成http,行不通,好像这就是java和weblogic通信的协议吧。
通过哈希表生成一个上下文实例,然后从上下文中lookup JDNI,从而得到连接。
然后给出测试类,代码:Test.java
从目录结构中看出weblogic.jar包到build path中,路径可以参考。
参考技术A 进入Console之后,在左边看到Domain structure,->Services->JDBC->DATA SOURCES查看weblogic连接池
1.在 使用JDBC连接池的过程中,最常见的一个问题就是连接池泄漏问题。一个池里面的资源是有限的,应用用完之后应该还回到池中,否则池中的资源会被耗尽。 WebLogic Server提供了一个Inactive Connection Timeout选项,默认是60秒,如果一个连接被应用拿走之后,超过这个时间还没有还回来,WebLogic Server会强制将这个连接回收。如果应用中不存在连接泄漏的问题,则不需要这个选项。设置为0即可禁用
2.V$SESSION 记录当前连接数据库的 Session 信息
查询当前占用数据库连接较多的主机和登录用户名
select count(*),SCHEMANAME,machine from v$session group by SCHEMANAME,machine;
以上是关于WebLogic中查看连接池的使用情况的主要内容,如果未能解决你的问题,请参考以下文章