<%@ page contentType="text/html; charset=GB2312"%>
<%@page import="java.sql.*,java.util.*"%>
<%@ page
import="javax.sql.DataSource,javax.naming.InitialContext,java.sql.*"%>
<%@ page
import="javax.management.ObjectName,javax.naming.InitialContext,org.jboss.jmx.adaptor.rmi.RMIAdaptor"%>
<%
//
//用来监控jboss连接池,可以查看那些操作没有关闭链接;
//使用的时候需要修改数据源的名称<jndi-name>DefaultDS</jndi-name>
//如果InUseConnectionCount大于0,说明有连接正在使用,如果经过一段时间还是大于0,
//那么程序中可能有链接没有关闭。
//也可以通过jboss的jmx-console来监控!
//http://localhost:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.jca%3Aservice%3DManagedConnectionPool%2Cname%3DeBuilder
try {
// Get RMIAdaptor Object
out.println(new java.util.Date().toString()+"<br>");
Properties pro = new Properties();
pro.setProperty("java.naming.factory.initial",
"org.jnp.interfaces.NamingContextFactory");
pro.setProperty("java.naming.provider.url",
"jnp://localhost:1099");
pro.setProperty("java.naming.factory.url.pkgs",
"org.jboss.naming:org.jnp.interfaces");
InitialContext ic = new InitialContext(pro);
RMIAdaptor server = (RMIAdaptor) ic
.lookup("jmx/rmi/RMIAdaptor");
ObjectName name = new ObjectName(
"jboss.jca:name=DefaultDS,service=ManagedConnectionPool");
ObjectName lname = new ObjectName(
"jboss.jca:name=DefaultDS,service=LocalTxCM");
String AvailableConnectionCount = server.getAttribute(name,
"AvailableConnectionCount").toString();
out.println("===========AvailableConnectionCount============"
+ AvailableConnectionCount + "<br>");
String InUseConnectionCount = server.getAttribute(name,
"InUseConnectionCount").toString();
out.println("===========InUseConnectionCount============"
+ InUseConnectionCount + "<br>");
String ConnectionCreatedCount = server.getAttribute(name,
"ConnectionCreatedCount").toString();
out.println("===========ConnectionCreatedCount============"
+ ConnectionCreatedCount + "<br>");
String ConnectionDestroyedCount = server.getAttribute(name,
"ConnectionDestroyedCount").toString();
out.println("===========ConnectionDestroyedCount============"
+ ConnectionDestroyedCount + "<br>");
String MaxConnectionsInUseCount = server.getAttribute(name,
"MaxConnectionsInUseCount").toString();
out.println("===========MaxConnectionsInUseCount ============"
+ MaxConnectionsInUseCount + "<br>");
String MaxSize = server.getAttribute(name, "MaxSize")
.toString();
out.println("===========MaxSize ============" + MaxSize
+ "<br>");
} catch (Exception ex) {
out.println("ERROR:" + ex.getMessage());
ex.printStackTrace();
}
%>
<pre>
//名词解释:
//BlockingTimeoutMillis :抛出异常前最大的等待连接时间
//
//IdleTimeoutMinutes :关闭连接前连接空闲的最大时间。即连接创建后由该项目规定的时间内未使用则释放连接,
//即系统创建的连接!
//
//InUseConnectionCount 表示表示用户正在使用的连接!
//
//ConnectionCount 这个项目代表在服务开启后,总共使用的连接数!
//
// ConnectionCreatedCount 表示jboss应用服务器自己创建的连接!
//
//ConnectionDestroyedCount 表示jboss释放的连接,包括用户释放的和系统自己释放的!
//
//IdleTimeoutMinutes 表示闲置释放时间,即连接创建后由该项目规定的时间内未使用则释放连接,即系统创建的连接!
//
// InUseConnectionCount 表示表示用户正在使用的连接!
//
//MaxConnectionsInUseCount 表示用户正在使用连接的峰值!
//
//其中InUseConnectionCount越少越好! ConnectionCreatedCount 越大越好! 这两项是关键!!
//
//AvailableConnectionCount为可用的连接数! 如果你的页面刷新AvailableConnectionCount的值没有变得话,说明你的页面创建的连接都关闭了,如果他的值减少了, 那么减少了多少,表示你有多少连接没有释放!!如果有可能的话,最好每个页面都测试一下,是否完全释放!
//
//而 MaxConnectionsInUseCount 的值刚好和 AvailableConnectionCount相对应: 前者减少了多少,后者就增加多少!!!
//
//而 MaxConnectionsInUseCount + AvailableConnectionCount = MaxSize 它们存在着这种关系!!
//
//可以这样说InUseConnectionCount 就是未释放的连接数!!! 而MaxConnectionsInUseCount 则是未释放连接数的峰值
//
//在具体应用中可以通过servlet 及定时器实现对连接池的实时监控。
</pre>
分享到:
相关推荐
下面我们将详细解析“JBOSS4.2.3 文件结构图”中的各个组成部分。 #### bin 目录 - **bin**:此目录包含了启动和停止JBoss服务器所需的所有脚本文件。这些脚本通常包括`run.sh`(Unix/Linux系统)或`run.bat`...
【JBoss 4.2.3.GA 概述】 JBoss AS 4.2.3.GA(Application Server)是Red Hat公司开发的一款开源Java应用服务器,它基于Java EE(Enterprise Edition)5规范,提供了全面的企业级服务,包括EJB(Enterprise ...
7. **部署和管理**:JBoss 4.2.3 提供了一个基于命令行和Web界面的管理工具,如jboss-admin-client和JMX Console,用于部署、监控和管理应用服务器及其运行的应用程序。 8. **热部署**:JBoss 4.2.3 支持热部署,即...
【JBoss4.2.3GA + EJB3.0 + JAAS】是企业级Java应用服务器、EJB(Enterprise JavaBeans)版本和安全性框架JAAS(Java Authentication and Authorization Service)的一个经典组合。这个组合在Java开发领域具有重要的...
【JBoss 4.2.3.GA】是JBoss Application Server的一个稳定版本,它在2007年发布,提供了全面的企业级Java应用程序部署和支持。这个版本支持J2EE 1.4规范,包括EJB 2.1、JSF 1.1、JPA(Java Persistence API)和Web...
老版本的jboss,4.2.3版本的,支持jdk6,由于文件较老,需要的人下载吧,也可以去官网下载,参考地址:https://sourceforge.net/projects/jboss/files/JBoss/JBoss-4.2.3.GA/
此版本在其余地方已经下载不到了哟,但是这个版本还是很好的,jboss-4.2.3.GA,此jboss支持jboss 4.x 开发,jdk需满足5.0及以上的版本,不然会运行出错的,需要的自行下载哈,无解压密码,下载即用
jbpm-3.2.6.SP1默认安装在jboss-4.2.3.GA下不支持Oracle,对配置文件进行修改,内有详细的文档说明。解压后直接将文件夹jbpm3覆盖到jboss-4.2.3.GA\server\default\deploy\jbpm,注意拷贝oracle的jdbc驱动到jboss-4.2.3...
JBoss-4.2.3.GA-jdk6.zip 是一个包含了JBoss应用服务器的版本4.2.3 GA(General Availability),专为Java Development Kit(JDK)6设计的软件包。JBoss是一个开源的企业级Java应用服务器,它遵循Java EE...
JBoss 4.2.3GA 集群配置与Apache负载均衡详解 在IT行业中,高可用性和负载均衡是企业级应用的关键要素。JBoss 4.2.3GA是一个流行的Java应用服务器,通过配置集群可以提高服务的稳定性和性能。而Apache作为Web服务器...
此外,还可以通过修改配置文件来定制服务器的行为,例如添加安全控制、连接池设置、日志配置等。 总的来说,JBoss 4.2.3.GA是一个功能强大的应用服务器,它的配置和使用涉及众多方面,包括JVM内存管理、应用部署、...
它还提供服务,如事务管理、安全管理、资源连接池等,这些都是J2EE应用的核心组成部分。 4. **JNDI**(Java Naming and Directory Interface):JBoss通过JNDI提供服务定位,允许应用查找和绑定到服务器上的资源,...
4. **管理工具**:4.2.3版本提供了JMX(Java Management Extensions)为基础的管理工具,如jconsole,允许管理员监控和管理服务器的状态和配置。 5. **热部署**:JBoss支持热部署,即在不中断服务的情况下更新应用...
在Eclipse中使用JBoss数据库连接池技术,主要是为了提高应用程序的性能和资源管理效率。数据库连接池技术允许应用程序重复使用已经建立的数据库连接,而不是每次需要时都创建新的连接,从而减少了数据库连接的创建和...
2. **配置负载均衡器**:如Apache HTTPD服务器,并安装mod_jk模块,设置mod_jk配置文件(`workers.properties`和`jk.conf`)以连接到各个JBoss实例。 3. **配置session复制**:在JBoss的`jboss-service.xml`和`jboss...
### jboss配置Oracle连接池知识点解析 #### 一、配置Oracle连接池的步骤与方法 在JBoss服务器中配置Oracle数据库连接池是一项重要的任务,它能够有效地管理应用程序对数据库的访问,提高系统的性能和响应速度。...