jbossas7 默认的jboss7 线程池配置是多少

10:23 提问
关于JBOSS AS7 多个数据源配置问题
我在JBOSS7的standalone.xml配置文件中配置了两个数据源,JAVA代理连接第一数据源能否正常连接,并能否正常访问到数据库的数据,但连接另外一个数据源时就报错,报错信息:ARJUNA012140: Adding multiple last resources is disallowed. Trying to add LastResourceRecord
我使用的JDBC连接。
请各位大侠帮忙指点下,多个数据源在JBOSS7如何使用,谢谢!
具体配置和代码如下:
standalone.xml数据源配置:jdbc:oracle:thin:@134.111.9.81:1521:myoracleoracleptkintfabc_110jdbc:oracle:thin:@134.111.10.156:1521:feeoracleoraclefeeintffee_intf_07657oracle.jdbc.OracleDriveroracle.jdbc.xa.client.OracleXADataSource
JAVA代码:
public class MyEjb3LocalImpl implements MyEjb3Intf{
public String callMyejb3(String str) {
queryPTKDbTest();
queryFeeDbTest();
return "SUCCESS";
private void queryPTKDbTest(){
Connection conn =
Statement stmt =
ResultSet rs =
DataSource dataSource = (DataSource)ContextUtil.getBean("java:jboss/datasources/PTKtestDS");
conn = dataSource.getConnection();;
stmt = conn.createStatement();
String sql = "select t.province, t.area_name from area t where t.area_code = '0591'";
rs = stmt.executeQuery(sql);
if(rs.next()){
System.out.println(rs.getString("province"));
System.out.println(rs.getString("area_name"));
}catch(SQLException e){
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
if(rs != null){
rs.close();
} catch (SQLException e) {
e.printStackTrace();
if(stmt != null){
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
if(conn != null){
conn.close();
} catch (SQLException e) {
e.printStackTrace();
private void queryFeeDbTest(){
Connection conn =
Statement stmt =
ResultSet rs =
DataSource dataSource = (DataSource)ContextUtil.getBean("java:jboss/datasources/FeeDS");
conn = dataSource.getConnection();;
stmt = conn.createStatement();
String sql = "select t.CZ_NBR, t.CZ_AMOUNT from bill_591.sms_notify t where t.CZ_TIME & (sysdate - 5/24/60/60)";
rs = stmt.executeQuery(sql);
if(rs.next()){
System.out.println(rs.getString("CZ_NBR"));
System.out.println(rs.getInt("CZ_AMOUNT"));
}catch(SQLException e){
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
if(rs != null){
rs.close();
} catch (SQLException e) {
e.printStackTrace();
if(stmt != null){
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
if(conn != null){
conn.close();
} catch (SQLException e) {
e.printStackTrace();
报错信息:
09:46:30,107 WARN
ARJUNA012140: Adding multiple last resources is disallowed. Trying to add LastResourceRecord(XAOnePhaseResource(LocalXAResourceImpl@3b96bb[connectionListener=1fe0dcb connectionManager=24e39f warned=false currentXid=& formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffa97a196:541b8af0:c, node_name=1, branch_uid=0:ffffa97a196:541b8af0:12, subordinatenodename=null, eis_name=unknown eis name &])), but already have LastResourceRecord(XAOnePhaseResource(LocalXAResourceImpl@ca677f[connectionListener=15c90f4 connectionManager=360733 warned=falsecurrentXid=& formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffa97a196:541b8af0:c, node_name=1, branch_uid=0:ffffa97a196:541b8af0:11, subordinatenodename=null, eis_name=unknown eis name &]))
09:46:30,123 ERROR
java.sql.SQLException: javax.resource.ResourceException: IJ000457: Unchecked throwable in managedConnectionReconnected() cl=org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@1fe0dcb[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@1826710 connection handles=0 lastUse=3 trackByTx=false pool=org.jboss.jca.core.connectionmanager.pool.strategy.OnePool@3c8087 pool internal context=SemaphoreArrayListManagedConnectionPool@eec35c[pool=FeeDS] xaResource=LocalXAResourceImpl@3b96bb[connectionListener=1fe0dcb connectionManager=24e39f warned=false currentXid=null] txSync=null]
09:46:30,123 ERROR
at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:137)
09:46:30,123 ERROR
at com.ptk.impl.MyEjb3LocalImpl.queryFeeDbTest(MyEjb3LocalImpl.java:75)
09:46:30,123 ERROR
at com.ptk.impl.MyEjb3LocalImpl.callMyejb3(MyEjb3LocalImpl.java:21)
09:46:30,123 ERROR
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
09:46:30,123 ERROR
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
09:46:30,123 ERROR
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
09:46:30,123 ERROR
at java.lang.reflect.Method.invoke(Method.java:597)
09:46:30,123 ERROR
at org.jboss.ponent.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72)
09:46:30,123 ERROR
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
09:46:30,123 ERROR
at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
09:46:30,123 ERROR
at org.jboss.ponent.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:36)
按赞数排序
贴出来的东西乱七八糟的,也不整理一下,懒得回答今天看啥 热点:
调优数据库连接池
建立与DBMS的JDBC连接过程可能是相当缓慢的。如果您的应用程序需要反复打开和关闭数据库连接,这可以成为一个显著的性能问题。在JBoss AS中数据源的连接池提供了一种有效的解决该问题的方法。
要强调的是,当客户端关闭一个数据源的连接时,该连接返回到池中,这样可用于其它的客户端,因此,连接本身并没有关闭。打开和关闭池管理的连接的成本可以以纳秒来衡量,所以它对性能的影响无关紧要。
在下面的例子中,我们将强调在第三章讲解的数据源配置,使用连接池配置来提供企业服务:
&datasource jndi-name=&MySqlDS& pool-name=&MySqlDS_Pool&
enabled=&true& jta=&true& use-java-context=&true& use-ccm=&true&&
&connection-url&
jdbc:mysql://localhost:3306/MyDB
&/connection-url&
&driver&mysql&/driver&
&min-pool-size&10&/min-pool-size&
&max-pool-size&30&/max-pool-size&
&prefill&true&/prefill&
&blocking-timeout-millis&30000&/blocking-timeout-millis&
&idle-timeout-minutes&5&/idle-timeout-minutes&
&/timeout&
&/datasource&
在这里,我们配置了10个连接的初始池的容量,最大可以增长到30。正如你可以从下面的MySQL管理控制台中看到的,当你设置pre-fill元素为true,则应用服务器试图在启动时预先创建连接。这可能会产生性能损失,特别是如果连接的获取很昂贵的时候。
如果应用服务器因为连接池的连接都在使用,而不能获得更多的连接,那么它会一直等待直到阻塞超时(blocking-timeout-millis),这时会抛出一个异常给客户端。
同时,如果连接空闲超过了参数idle-timeout-minute设置的时间,则他们被迫返回到池中。
调整池大小
要确定合适的池大小,你需要监视数据库连接的使用,这可以通过几种方式来完成。使用命令行,您可以监视数据源的运行时性能。下面是一个将在第4章讲述的应用程序的示例:
[standalone@localhost:9999 /]/subsystem=datasources/data-source=&java:/MySqlDS&:read-resource(include-runtime=true)
&outcome& =& &success&,
&result& =& {
&ActiveCount& =& &10&,
&AvailableCount& =& &29&,
&AverageBlockingTime& =& &0&,
&AverageCreationTime& =& &56&,
&CreatedCount& =& &10&,
&DestroyedCount& =& &0&,
&MaxCreationTime& =& &320&,
&MaxUsedCount& =& &5&,
&MaxWaitCount& =& &0&,
&MaxWaitTime& =& &1&,
此命令的输出有点长,然而最有趣的属性是输出的开头部分:尤其是ActiveCount,它显示了当前活动的连接数,MaxUsedCount是由应用程序使用的连接的峰值数。
注意:如果您设置了预初始化连接池,如图所示前面的部分,这些连接将一直处于活跃状态。这可能造成误解,导致你认为他们一直很忙。
如果您无法使用CLI或只是你要好好利用你的DBA认证,有一些有效的可选方法:首先,最显而易见的是监视数据库会话。下表列出了一些有用的命令,这些命令可以用来跟踪在不同数据库上的活动的连接:
查询V$SESSION视图
使用命令SHOW FULL PROCESSLIST
Postgre-SQL
查询PG_STAT_ACTIVITY表
另一种选择是使用像P6Spy的工具,它充当JDBC代理的驱动。 (我博客关于它的文章在这里))。
一旦你找到应用程序使用连接的峰值,设置至少高出25-30%作为最大值。不要担心设置的最大值过高,因为如果你不需要这么多的连接,池将自动收缩,前提是你已经设置了idle-timeout-minutes。
另一方面,服务器日志在帮助你检查连接池运行问题时,仍然是一个非常宝贵手段。例如,如果你在你的服务器日志中看到这个异常,这说明你需要你去看看连接池是否正常:
21:57:57,781 ERROR [stderr] (http-executor-threads - 7) Caused by: javax.resource.ResourceException: IJ000655: No managed connections available within configured blocking timeout (30000 [ms])
21:57:57,782 ERROR [stderr] (http-executor-threads - 7) at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection
相关搜索:
相关阅读:
相关频道:
&&&&&&&&&&&&
系统综合最近更新关于JBoss AS7的知识点归纳
关于JBoss AS7的知识点归纳
发布时间: 15:26:29
编辑:www.fx114.net
本篇文章主要介绍了"关于JBoss AS7的知识点归纳",主要涉及到关于JBoss AS7的知识点归纳方面的内容,对于关于JBoss AS7的知识点归纳感兴趣的同学可以参考一下。
&& 由于本人曾经某一段时期从事过关于JBoss最新版本(JBoss AS7)的研发工作,当然对于它当时有一些自己的理解,一直想把笔记拷贝出来,前提是在自己的平台上。毕竟一份有价值和心血的东西,想用自己喜欢的方式来展现出来,为人所用。在我了解JBoss AS7那会,AS7是发布没多长时间,国内关于AS7的资料甚少,偶尔一两篇AS7的文摘便是宝,AS7在国外站点上的介绍就会多一些。现在AS7渐渐普及起来,很多研发人员都在学习它,这里我发表一些AS7知识点,由于时间仓促,直接把笔记拷贝出来,供大家相互学习,如有错误,欢迎指正。【温馨提示:本文来自(专业的网络技术文摘分享平台以及交友平台)】
&& 我之前对JBoss(社区版和企业版)做过以下工作:
1,在github下载AS7社区版源码,编译JBoss AS7.1.1.Final以及后面几个版本的源码,编译过JBoss EAP6.0源码,并修改源码里配置文件,最终生成出不同配置的JBoss服务器。【JBoss EAP6.0约等于JBoss AS7.1.2版本】
2,调整在standard和domain启动模式下的Web控制台管理界面,如欢迎界面、管理页面布局、英文版完全国际化等。【JBoss AS7控制台采用GWT技术开发,控制台的源码于github下载。】
关于JBoss AS7项目,有以下了解:
1,源码通过maven编译,项目内置版本是Maven3.0.4,maven 3以下版本不支持。
2,多找些JBoss AS7依赖jar包的Repository,下载到本地。
关于JBoss AS7控制台项目,有以下了解:
1,dmr是JBoss控制台界面与后台的数据传输对象,传输过程有加密解密处理。
2,widgets1.4.0是JBoss控制台的组件项目,而ballroom是运用了widgets组件的JBoss控制台示例项目。
-----------------------------------------------------------------------------------
standalone.bat---修改启动时参数:standalone.conf.bat
standard.sh---修改启动时参数:standalone.conf
CLI使用介绍:
1,连接命令:
cd jboss-as-7.1.1.Final\bin
jboss-cli.bat --connect
2,停止JBoss:
3,重启JBoss:
JBoss AS7部署项目有以下方式:
文件夹扫描
web console
cli 命令行
Jboss部署的资源种类有如下:
1,jar:应用或普通资源
2,war:web应用
3,ear:企业应用
4,rar、sar…
-----------------------------------------------------------------------------------
1,连接CLI
a)./jboss-admin.sh --connect command=:shutdown& 关闭启动的服务
b)./jboss-admin.sh --file=test.cli& 执行一个文件
c)进入bin, ./jboss-cli.sh --connect
或者服务启动后:执行jboss-cli.sh
d)connect 连接本机
e)connect 192.168.1.10 默认连接到192.168.1.10:9999
f):reload 重启
g)添加一个类似于standalone.xml文件
&& &standalone.bat --server-config customConfiguration.xml
&& &操作:需在resource path下执行
&& &命令:不依赖resource path
& deploy部署应用
& deploy MyApp.war&& &在standalone下部署
& deploy -f MyApp.war&& 在standalone下重部署
& undeploy MyApp.war&&& 反部署
& deploy MyApp.war --all-server-groups 部署到所有服务器组
& deploy application.ear --server-groups=main-server-group 部署到一个或多个,:分割
& undeploy application.ear --all-relevant-server-groups 对所有服务器组反部署
& undeploy as7project.war --server-groups=main-server-group 从一个或多个服务器中反部署
& undeploy application.ear --server-groups=main-server-group --keep-content 反部署,content内容不删除
3,CLI退出会话:quit
a)启动jboss eap 6.0:& standalone.bat& domain.bat
b)停止jboss eap 6.0:CTRL+C ;连接cli,:shutdown
c)重启jboss eap 6.0:& cli,& :reload
d)怎么加载Modules:
e)服务的配置
f)子系统配置
a)数据库连接池配置
d)Domain配置
e)部署jar war ear
g)Web控制台
8,Jboss安全
9,Jboss云架构
-----------------------------------------------------------------------------------
1,安装jboss
Java,jboss安装
启动、关闭jboss
CLI连接jboss、远程关闭jboss
Eclipse安装jboss服务器
2,Jboss目录结构
bin/docs/domain/standalone/welcome-content/modules
3,Jboss应用服务器的配置文件属性
Extensions
Management interfaces
Interfaces
Socket binding groups
System properties
Deployments
4,配置文件配置子系统,如Thread Pool,logging
5,企业服务配置
Database:
&& &(1,安装数据库驱动
a)As a module
在根目录的modules模块下增加相应的目录,添加jar包跟module.xml
com/mysql/main
b)As a deployment unit 快一些,但是有些限制
Jdbc驱动,xa配置不能共享
&& &(2,配置文件添加datasource
a)Local datasource: does not support two phase commit using a java.sql.Driver
b)Xa datasource: supports two phase commit using a javax.sql.XADatasource
直接更改配置文件;使用management interfaces(cli,web administration);annotation程序写
&@DataSourceDefinition
Jndi-name java:/MySqlDs& java:jboss/MySqlDs
&pool /&define connection pool properties
&security&connection credentials
&statement /&added just as place holder for statement caching options
&idle-timeout-minutes&连接闲置的最大时间。0禁用,默认15分钟
&query-timeout&查询超时的最大时间pool&没有配置,jboss as 会选择默认设置。
如需定制pools大小等,使用:
&& &min-pool-size&5&/min-pool-size&池中最小连接数
&& &max-pool-size&10&/max-pool-size&池中最大接数
&& &prefill&true&/prefill&保持存在最少的连接
&& &use-strict-min&true&/use-strict-min&如小于最小连接,空闲的连接也会关闭
语句缓存:
Prepared statement or callable statement,设置大小,共享
&statement&
& &track-statements&true&/track-statements&
& &prepared-statement-cache-size&10&/prepared-statement-cache-size&
& &share-prepared-statements/&
&/statement&
&xa-datasource-class&com.mysql.jdbc.jdbc2.optional.MysqlXADataSource&/xa-d..&
Message :
Transactions :
6,Jboss Web 服务配置
7,Domain配置
8,部署应用和standalone配置
domain里&path&配置不可以包含path和relative-to属性,只需要name属性。
&path name=&x&/&:指向x的实际文件系统的路径是主机相关的
每个机器上host.xml里都需要path来有定义实际的文件系统路径:
&path name=&x& path=&/var/x& /&
在domain.xml里&interface/&元素只需要name属性,不需要包含任何真实IP地址的信息:
&interface name=&internal&/&:指向internal的ip地址是和主机相关的。
每台机器上的host.xml里必须有interface元素来指定IP地址:
&interface name=&internal&&
&& &nic name=&eth1&/&
&/interface&
当在domain.xml或者host.xml里设置的一个系统属性,它是否能够最终被应用生效取决于它在什么地方被配置。
如果系统属性作为在 domain.xml里根节点下的一个子孙节点被设置,那么它将在所有的server上生效。
如果在domain.xml中&server- group/&里的&system-property/&设置,那么它将在这个组里所有的server生效。
在host.xml里根节 点下作为一个子节点设置系统属性,那么它将在这个主机的host controller控制的所有server上生效。
最后,在host.xml中&server/&里的&system- property&设置,那么它将在只在那个sever上生效。
同样的属性可以被配置在多个地方:&server/& 中的值要优先于在host.xml根节点中直接定义的值,host.xml里定义的值要优先于任何domain.xml里的值,&server- group/&里定义的值要优先于通过domain.xml里根节点里定义的值。
管理资源的全路径是一个排好序的键值对的列表,这个地址可以指从资源数的根指向这个资源。地址中使用&/&来分割地址元素,使用&=&来分割键和值:
&&& /subsystem=web/connector=http
&&& /subsystem=messaging/jms-queue=testQueue
&&& /interface=public
如果使用HTTP API,那么&/:来分割键和值而不是&=&:
&&& http://localhost:9990/management/subsystem/web/connector/http
&&& http://localhost:9990/management/subsystem/messaging/jms-queue/testQueue
&&& http://localhost:9990/management/interface/public
本文来自(专业的网络技术文摘分享平台以及交友平台)
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:15198人阅读
JAVA(81)
&& & 在设置jboss的参数中,maxThreads(最大线程数)和acceptCount(最大等待线程数)是两个非常重要的指标,直接影响到程序的QPS。本文讲解jboss连接的运行原理,以及如何设置这两个参数。
&& & 最佳线程数:
&& & 在做压力测试时,刚开始,随着并发量的增加,QPS也会随之增大,但当并发量超过一个阀值之后,QPS就不会再增大,甚至很多时候还会降低,类似于下图。而这个阀值就是我们所说的最佳线程数,他也是设置jboss时的maxThreads参数时的重要指标。
&& & jboss连接的原理
&& & jboss连接的基本原理如下图,一般情况下,当用户访问jboss服务器时,会先进入等待队列,然后再到运行区被执行。运行区中连接的线程数量是固定的,也就是说cpu在同一时间内处理的用户访问数量也是固定的。
&& & 而那些已经建立连接,但暂时还不能被cpu处理的,就在等待列队中等待,直到运行区中有空闲时,才进入运行区被cpu执行的。而如果等待队列也满了,再有用户申请连接,jboss就会直接直接拒绝掉。
&& & 这样做的目的是为了更好地利用系统资源(cpu,内存等)。试想,每个连接都是要占用系统资源的,假如jboss不做这样的设置,一有连接请求,jboss马上建立连接,内存消耗非常大,更加致命的是,随着连接数量的增多,cpu用于调度的时间增大,用于计算的时间相对减少,这样系统的性能就被活活拖垮了。
&& & & & &&
&& & 在jboss中,acceptCount和maxThreads,这两个参数就是用于设置分别对待队列长度和运行区线程数。具体操作,进入JbOSS_HOME/server/default/deploy/jbossweb.sar/ 文件夹下,找到server.xml文件,修改这连个参数如下:
&Connector protocol="HTTP/1.1" port="9999" address="${jboss.bind.address}"
connectionTimeout="20000" redirectPort="${jboss.web.https.port}"
maxThreads="150" acceptCount="8000"
&& & &如何找到最佳连接数
&& & &1.&根据公式计算:&最佳线程数量=((线程等待时间+线程cpu时间)/线程cpu时间) * cpu数量
&& & &2.&通过用户慢慢递增来进行性能压测,观察QPS,响应时间。
&& & &这里重点讲讲第二种方法。
&& & &首先在jboss的设置上,maxThreads值要设置得尽量大,以便压力都能压到cpu上。这同时也要注意,线程连接是占用内存资源的,假如maxThreads太大了,可能会消耗完所有内存,最终造成程序崩溃。
&& & &具体步骤。我以自己最近做的压力测试,并从中找到最佳线程数为例进行进行说明
&& & &我先设置的maxThreads=2000,acceptCount=4000。测试结果如下,横轴表示并发量,纵轴表示QPS
&& & & & 跟据上图,我们就可以大致知道这个系统的最佳线程数是在红色区间范围内。
&& & &真实的maxThreads的设置
&& & &但在真实环境中,maxThreads的值要略大于压力测试时得到的最佳线程数。这是因为系统依靠的资源是可能发生变化的,比如原先系统在压力测试得到的最佳线程数是30,我们设置maxThreads也是30的话,但在真实运行时,可能突然有段时间,IO的响应变慢,这样造成的就是是最佳线程数可能变成35,这样cpu资源就白白被浪费了,QPS降低.所以在设置maxThreads时,留下一切缓冲余地还是很有必要的。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:957885次
积分:10998
积分:10998
排名:第1246名
原创:175篇
转载:160篇
评论:106条
(2)(2)(17)(17)(2)(4)(93)(67)(55)(12)(2)(13)(10)(2)(1)(6)(10)(11)(11)JBossAS7性能调优(四)
Logging调优
记录日志是每一个应用程序的一个重要任务,默认的配置一般只适合开发,但不适用于生产环境。
您切换到生产环境时需要考虑的关键要素是:
1. 选择一个合适的输出日志的处理handler。
2. 选择一个合适的日志级别,它恰好可以提供给你需要的足够信息,不多也不少。
3. 选择一个合适的日志输出格式。
鉴于一般考虑,日志的处理handler,默认配置会启动控制台和文件的日志输出。虽然这可能在开发环境中是合适的,但在生产环境中使用控制台日志输出将会是一个昂贵的处理过程,导致大量的非缓冲I / O。虽然一些应用程序可能适合控制台日志输出,但大多数应用更适合关闭控制台日志输出,只使用文件输出的处理handler。
为了去掉控制台日志,你可以简单地注释掉其处理handler:
&root-logger&
&level name=&INFO&/&
&handlers&
&!-- &handler name=&CONSOLE&/& --&
&handler name=&FILE&/&
&/handlers&
&/root-logger&
下一步是选择正确的日志记录级别。显然,记录的日志越少,发生的I / O就越少,这样您的整个应用程序的性能会更好。默认配置使用&INFO&级别根记录器。你可以考虑提高到较高的级别,如&WARN&或(使用细粒度的approach)改变单一的日志记录类别(category)。
&logger category=&org.hibernate&&
&level name=&WARN&/&
在这个例子中,我们刚才提出的org.hibernate包使用&WARN&级别,这将从Hibernate中输出更加简洁的日志信息。
最后,日志模式(pattern)也会影响您的应用程序的性能。例如,我们使用默认模式格式,如下所示:
&pattern-formatter
pattern=&%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n&/&
日志记录模式的详细解释可以在第2章的控制台处理handler内容中找到。从这个基本格式开始,可尽可能考虑添加标志%l,可以通过打印出行号和发出日志的Class来提高你的日志的详细程度:
&pattern-formatter
pattern=&%l %d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n&/&
一旦服务器配置被重新加载,控制台输出下面的日志信息:
虽然这些信息在开发时非常有用,但它会导致移植到生产环境中产生很大的性能负担。
其它可能对你的日志性能造成负面影响的标志有%C(打印出调用者的Class信息),%M(它输出打印日志的方法)和%F(它输出发出日志记录请求的文件名)。}

我要回帖

更多关于 jboss7 默认页面 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信