`
xiaoyaoke08
  • 浏览: 100088 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JBoss AS 调优(三)

阅读更多

接上一节。

瘦身(二)

如果你使用通过HTTP直接连接Tomcat而不是通过Apache/mod_jk:  辑器打开server/slim/deploy/jbossweb-tomcat50.sar/server.xml,移除/注释下面的XML 片段:  

<!-- A AJP 1.3 Connector on port 8009 -->  
<Connector port="8009" address="${jboss.bind.address}" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3"/>  

 
如果你的用户总是不通过HTTP连接到Tomcat而总是通过Apache/mod_jk连接,编辑server/slim/deploy/jbossweb-tomcat50.sar/server.xml 文件,移除/注释下面的XML片段:  

<!-- A HTTP/1.1 Connector on port 8080 -->  
<Connector port="8080" address="${jboss.bind.address}" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"/> 

 
如果你不需要可以部署EAR文件l  使用vi打开编辑 server/slim/conf/jboss-service.xml文件,移除/注释下面的XML片段从这

从这个

<mbean code="org.jboss.management.j2ee.LocalJBossServerDomain">

 
MBean 下面

<attribute name="EARDeployer">jboss.j2ee:service=EARDeployer</attribute>

  
和 

<!-- EAR 部署,如果你不使用Web分层,删除-->
<mbean code="org.jboss.deployment.EARDeployer"name="jboss.j2ee:service=EARDeployer"></mbean>

  
 如果你不需要可以部署JMS队列,打开 server/slim/conf/jboss-service.xml 文件,移除/注释下面的XML片段

从这个

<mbean code="org.jboss.management.j2ee.LocalJBossServerDomain" >

 

Mbean下面 

<attribute name="JMSService">jboss.mq:service=DestinationManager</attribute>

 

如果你不需要使用CORBA/IIOP,编辑 server/slim/conf/jboss-service.xml文件,移除/注释下面的XML片段
从这个

<mbean code="org.jboss.management.j2ee.LocalJBossServerDomain"> 

 
MBean 下面

<attribute name="RMI_IIOPService">jboss:service=CorbaORB</attribute>

  
如果你删除user-transaction-service.xml,server/slim/conf/jboss-service.xml 文件,移除/注释下面的XML片段

从这个

<mbean code="org.jboss.management.j2ee.LocalJBossServerDomain"> 

 

MBean 下面

<attribute name="UserTransactionService">jboss:service=ClientUserTransaction</attribute>

 
如果你不需要JSR-77支持 (尝试做JBoss, Weblogic 和 Websphere支持一些基于同类的JMX监控)你可以删除/注释server/slim/conf/jboss-service.xml文件关于JSR-77的全部片段: 

<!-- ==================================================================== -->  
<!-- JSR-77 Single JBoss Server Management Domain -->  
<!-- ==================================================================== -->  
<mbean code="org.jboss.management.j2ee.LocalJBossServerDomain"  
name="jboss.management.local:j2eeType=J2EEDomain,name=Manager">  
<attribute name="MainDeployer">jboss.system:service=MainDeployer</attribute>  
<attribute name="SARDeployer">jboss.system:service=ServiceDeployer</attribute>  
<!-- <attribute name="EARDeployer">jboss.j2ee:service=EARDeployer</attribute>-->  
<attribute name="EJBDeployer">jboss.ejb:service=EJBDeployer</attribute>  
<attribute name="RARDeployer">jboss.jca:service=RARDeployer</attribute>  
<attribute name="CMDeployer">jboss.jca:service=ConnectionFactoryDeployer</attribute>  
<attribute name="WARDeployer">jboss.web:service=WebServer</attribute>  
<attribute name="MailService">jboss:service=Mail</attribute>  
<!-- <attribute name="JMSService">jboss.mq:service=DestinationManager</attribute>-->  
<attribute name="JNDIService">jboss:service=Naming</attribute>  
<attribute name="JTAService">jboss:service=TransactionManager</attribute>  
<!-- <attribute name="UserTransactionService">jboss:service=ClientUserTransaction</attribute>  
<attribute name="RMI_IIOPService">jboss:service=CorbaORB</attribute>-->  
</mbean>  

 
如果你不需要client-side事务管理 (记住,使用这个那意味着你是一个坏人) ,编辑 server/slim/conf/jboss-service.xml文件,移除/注释下面的XML片段 

<!--  UserTransaction support.  -->  

<mbean code="org.jboss.tm.usertx.server.ClientUserTransactionService"  
name="jboss:service=ClientUserTransaction"  
xmbean-dd="resource:xmdesc/ClientUserTransaction-xmbean.xml">  
<depends>  
<mbean code="org.jboss.invocation.jrmp.server.JRMPProxyFactory"  
name="jboss:service=proxyFactory,target=ClientUserTransactionFactory">  
<attribute name="InvokerName">jboss:service=invoker,type=jrmp</attribute>  
<attribute name="TargetName">jboss:service=ClientUserTransaction</attribute>  
<attribute name="JndiName">UserTransactionSessionFactory</attribute>  
<attribute name="ExportedInterface"> 
org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory 
</attribute>  
<attribute name="ClientInterceptors">  
<interceptors>  
<interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor>  
<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>  
</interceptors>  
</attribute>  
<depends>jboss:service=invoker,type=jrmp</depends>  
</mbean>  
</depends>  
<depends optional-attribute-name="TxProxyName">  
<mbean code="org.jboss.invocation.jrmp.server.JRMPProxyFactory"  
name="jboss:service=proxyFactory,target=ClientUserTransaction">  
<attribute name="InvokerName">jboss:service=invoker,type=jrmp</attribute>  
<attribute name="TargetName">jboss:service=ClientUserTransaction</attribute>  
<attribute name="JndiName"></attribute>  
<attribute name="ExportedInterface"> org.jboss.tm.usertx.interfaces.UserTransactionSession 
</attribute>  
<attribute name="ClientInterceptors">  
<interceptors>  
<interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor>  
<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>  
</interceptors>  
</attribute>  
<depends>jboss:service=invoker,type=jrmp</depends>  
</mbean>  
</depends>  
</mbean>

 
你现在能删除从来没有引用的server/slim/conf/xmdesc/ClientUserTransaction-xmbean.xml 文件如果你不需要持久化MBean(persistent MBean )特性 (默认情况下,没有JBoss MBeans使用它...yet),编辑 server/slim/conf/jboss-service.xml文件,移除/注释这个XML片段  

<!-- ==================================================================== -->  
<!-- XMBean Persistence -->  
<!-- ==================================================================== -->  
<mbean code="org.jboss.system.pm.AttributePersistenceService"  
name="jboss:service=AttributePersistenceService"  
xmbean-dd="resource:xmdesc/AttributePersistenceService-xmbean.xml">  
<attribute name="AttributePersistenceManagerClass">  org.jboss.system.pm.XMLAttributePersistenceManager 
</attribute>  
<attribute name="AttributePersistenceManagerConfig">  
<data-directory>data/xmbean-attrs</data-directory>  
</attribute>  
<attribute name="ApmDestroyOnServiceStop">false</attribute>  
<attribute name="VersionTag"></attribute>  
</mbean>

 
 既然server/slim/conf/xmdec/xmdesc/AttributePersistenceService-xmbean.xml已经不在被引用,你也可以删除它。 如果你不使用RMI类装载器 (在服务器上利用classes从客户端装载代码),编辑 server/slim/conf/jboss-service.xml文件,移除/注释这个XML片段 

<!-- ==================================================================== -->  
<!-- JBoss RMI Classloader - only install when available -->  
<!-- ==================================================================== -->  
<mbean code="org.jboss.util.property.jmx.SystemPropertyClassValue"  
name="jboss.rmi:type=RMIClassLoader">  
<attribute name="Property">java.rmi.server.RMIClassLoaderSpi</attribute>  
<attribute name="ClassName">org.jboss.system.JBossRMIClassLoader</attribute>  
</mbean>

 

 和

<!-- ==================================================================== -->  
<!-- Class Loading -->  
<!-- ==================================================================== -->  
<mbean code="org.jboss.web.WebService"  
name="jboss:service=WebService">  
<attribute name="Port">8083</attribute>  
<!-- Should resources and non-EJB classes be downloadable -->  
<attribute name="DownloadServerClasses">true</attribute>  
<attribute name="Host">${jboss.bind.address}</attribute>  
<attribute name="BindAddress">${jboss.bind.address}</attribute>  
</mbean> 

 
修改XML片段 (注意: 在JBoss 4.0里,是在server/slim/deploy/ejb-deployer.xml文件里的一点设置): 

<!-- EJB deployer, remove to disable EJB behavior-->  
<mbean code="org.jboss.ejb.EJBDeployer" name="jboss.ejb:service=EJBDeployer">  
<attribute name="VerifyDeployments">true</attribute>  

...  

<depends optional-attribute-name="WebServiceName">jboss:service=WebService</depends>
</mbean> 

 
象这样标明: 

<!-- EJB deployer, remove to disable EJB behavior-->  
<mbean code="org.jboss.ejb.EJBDeployer" name="jboss.ejb:service=EJBDeployer">  
<attribute name="VerifyDeployments">true</attribute>  

...  

<!-- <depends optional-attribute-name="WebServiceName">jboss:service=WebService</depends> -->  
</mbean>

 

或者选择性的移除WebServiceName? depends/attribute.
如果你只想使用 JBoss Naming locally (没有 RMI 客户端),打开 server/slim/conf/jboss-service.xml文件,更改下面的XML片段 

<!-- ==================================================================== -->  
<!-- JNDI -->  
<!-- ==================================================================== -->  
<mbean code="org.jboss.naming.NamingService"  
name="jboss:service=Naming"  
xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">  

...  

<!-- The listening port for the bootstrap JNP service. Set this to -1  
to run the NamingService without the JNP invoker listening port.  
-->  
<attribute name="Port">1099</attribute>  

...  

<!-- The port of the RMI naming service, 0 == anonymous -->  
<attribute name="RmiPort">1098</attribute>  

...  

</mbean> 

 
改写 

<!-- ==================================================================== -->  
<!-- JNDI -->  
<!-- ==================================================================== -->  
<mbean code="org.jboss.naming.NamingService"  
name="jboss:service=Naming"  
xmbean-dd="resource:xmdesc/NamingService-xmbean.xml">  

...  

<!-- The listening port for the bootstrap JNP service. Set this to -1  
to run the NamingService without the JNP invoker listening port.  
-->  
<attribute name="Port">-1</attribute>  

...  

<!-- The port of the RMI naming service, 0 == anonymous -->  
<attribute name="RmiPort">0</attribute>  

...  

</mbean>

 

 

该RmiPort 大多是可选的,但是它意味着我们将不绑定到1098端口,以便这是有益的. 你也可以从相同的XML区域删除此行,来删除相关联的线程池:

<depends optional-attribute-name="LookupPool"  proxy-type="attribute">jboss.system:service=ThreadPool</depends>

  
 和它自己的线程池块:

 <!-- A Thread pool service -->  
<mbean code="org.jboss.util.threadpool.BasicThreadPool"  
name="jboss.system:service=ThreadPool"> 
<attribute name="Name">JBoss System Threads</attribute>  
<attribute name="ThreadGroupName">System Threads</attribute>  
<attribute name="KeepAliveTime">60000</attribute>  
<attribute name="MinimumPoolSize">1</attribute>  
<attribute name="MaximumPoolSize">10</attribute>  
<attribute name="MaximumQueueSize">1000</attribute>  
<attribute name="BlockingMode">run</attribute>  
</mbean>

 
如果你使用它,从JMX控制台(显示JNDI命名树) 此JNDIView MBean 是非常有用的, 除非你不使用它.打开 server/slim/conf/jboss-service.xml ,删除 

<mbean code="org.jboss.naming.JNDIView"  name="jboss:service=JNDIView" xmbean-dd="resource:xmdesc/JNDIView-xmbean.xml"></mbean>

 
 你可以也删掉server/slim/conf/xmdesc/JNDIView-xmbean.xml 文件如果你不使用JBossSX, 我们为EJBs或者Web层组件继承的基于JAAS的安全 (then you deserve to be flogged and I hope you get hacked but thats another story),打开 server/slim/conf/jboss-service.xml,

 删除

<!-- ==================================================================== -->  
<!-- Security -->  
<!-- ==================================================================== -->  
<!--  
<mbean code="org.jboss.security.plugins.SecurityConfig"  
name="jboss.security:service=SecurityConfig">  
<attribute name="LoginConfig">jboss.security:service=XMLLoginConfig</attribute>  
</mbean>  
<mbean code="org.jboss.security.auth.login.XMLLoginConfig"  
name="jboss.security:service=XMLLoginConfig">  
<attribute name="ConfigResource">login-config.xml</attribute>  
</mbean>

 
编辑 server/slim/deploy/jbossweb-tomcatxx.sar/META-INF/jboss-service.xml 并注释掉这些片段: 

<!-- The JAAS security domain to use in the absense of an explicit  
security-domain specification in the war WEB-INF/jboss-web.xml  
-->  
<!-- <attribute name="DefaultSecurityDomain">java:/jaas/other</attribute>--> 
 
<!-- A mapping to the server security manager service which must be  operation compatible with type 
org.jboss.security.plugins.JaasSecurityManagerServiceMBean. This is only  needed if web applications are allowed to flush the security manager  authentication cache when the web sessions invalidate.  
-->  
<!— 
<depends optional-attribute-name="SecurityManagerService"  
proxy-type="attribute">jboss.security:service=JaasSecurityManager  
</depends> 
--> 

 
也移除/注释: <!-- JAAS 安全性管理和区域mapping --> 

<mbean code="org.jboss.security.plugins.JaasSecurityManagerService"  
name="jboss.security:service=JaasSecurityManager">  
<attribute name="SecurityManagerClassName">  
org.jboss.security.plugins.JaasSecurityManager  
</attribute>  
<attribute name="DefaultCacheTimeout">1800</attribute>  
<attribute name="DefaultCacheResolution">60</attribute>  
</mbean>

 
如果你使用JBossMQ,你将需要从server/slim/deploy/jms/jbossmq-destinations-service.xml文件的所有测试 queues/topics中删掉任何一个 (优先的)或者注释掉他们的安全性信息. 如果你选择保持示例topics/queues增加如下注释: 

<mbean code="org.jboss.mq.server.jmx.Topic"  
name="jboss.mq.destination:service=Topic,name=testTopic">  
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>  
<!—- 
<depends optional-attribute-name="SecurityManager"> 
jboss.mq:service=SecurityManager </depends>  
<attribute name="SecurityConf">  
<security>  
<role name="guest" read="true" write="true"/>  
<role name="publisher" read="true" write="true" create="false"/>  
<role name="durpublisher" read="true" write="true" create="true"/>  
</security>  
</attribute> 
-->  
</mbean>  
<mbean code="org.jboss.mq.server.jmx.Topic"  
name="jboss.mq.destination:service=Topic,name=testTopic">  
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>  
<!-- <depends optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends>  
<attribute name="SecurityConf">  
<security>  
<role name="guest" read="true" write="true"/>  
<role name="publisher" read="true" write="true" create="false"/>  
<role name="durpublisher" read="true" write="true" create="true"/>  
</security>  
</attribute> 
-->  
</mbean>  
<mbean code="org.jboss.mq.server.jmx.Topic"  
name="jboss.mq.destination:service=Topic,name=testDurableTopic">  
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>  
<!--  
<depends optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends>  
<attribute name="SecurityConf">  
<security>  
<role name="guest" read="true" write="true"/>  
<role name="publisher" read="true" write="true" create="false"/>  
<role name="durpublisher" read="true" write="true" create="true"/>  
</security>  
</attribute> 
-->  
</mbean>  
<mbean code="org.jboss.mq.server.jmx.Queue"  

name="jboss.mq.destination:service=Queue,name=testQueue">  

<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>  

<!--  
<depends optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends>  
<attribute name="SecurityConf">  
<security>  
<role name="guest" read="true" write="true"/>  
<role name="publisher" read="true" write="true" create="false"/>  
<role name="noacc" read="false" write="false" create="false"/>  
</security>  
</attribute> 
-->  
</mbean>

 

分享到:
评论

相关推荐

    Jboss AS7 性能调优

    【JBoss AS7 性能调优】 JBoss Application Server 7 (JBoss AS7) 是一款开源的应用服务器,以其高效能和快速启动而受到赞誉。然而,为了确保最佳性能,对服务器进行适当的配置和调优至关重要。大约80%的应用性能取...

    JBoss 性能调优

    JBoss性能调优涉及优化硬件资源使用、配置Java虚拟机(JVM)、调整应用服务器(JBoss AS)的设置,以及针对操作系统级别的优化,以最小的开销满足应用需求并提供快速的应用体验。 性能调优的基本思路是理解系统的...

    JBoss AS 5 Development

    5. **测试与调试**:利用JBoss AS 5自带的工具或外部工具进行功能测试和性能调优。 #### 四、JBoss AS 5 的高级特性 - **集群与负载均衡**:通过集群技术提高应用的可用性和性能。负载均衡器可以在多个JBoss实例...

    JBoss AS 7 Development

    ### JBoss AS 7 Development #### 一、概述 JBoss AS 7(Application Server 7)是一款功能强大且开放源代码的应用服务器,为开发者提供了高效稳定的开发平台,支持多种高级特性,包括EJB(Enterprise JavaBeans)...

    jboss as7 文档

    - **5.4.5 插件**:介绍了如何扩展JBoss AS7的功能,例如添加新的管理插件或集成第三方工具。 #### 三、开发者指南要点 - **应用程序部署**:详细介绍了如何部署Java EE应用到JBoss AS7。 - **JPA/EJB支持**:涵盖...

    图书:JBoss AS 5开发

    9. **性能调优**:提供关于如何优化JBoss AS 5性能的建议,包括内存配置、线程池调整、日志和监控工具的使用。 10. **开发工具集成**:可能涵盖如何在Eclipse、NetBeans等IDE中集成JBoss AS 5,以便于开发、调试和...

    Jboss-Spring

    综上所述,`Jboss-Spring`是Spring框架与JBoss AS深度整合的一种技术实现,通过`jboss-as-sprint-int-5.0.0.GA.jar`和`jboss-spring-int-vfs.jar`这两个核心库,实现了Spring在JBoss服务器上的无缝运行,为开发者...

    jboss-as-sprint-int-5.0.0.GA.jar 和 jboss-spring-int-vfs.jar

    4. 性能调优:根据JBoss AS的特点进行性能调优,例如调整内存设置、线程池大小等。 5. 日志整合:确保应用的日志输出与JBoss AS的日志系统兼容,如使用JBoss Logging。 6. 安全性:检查并配置JBoss AS的安全策略,如...

    JBoss_Application_Server_7.1官方文档

    这份官方文档详细介绍了JBoss AS 7.1的功能、配置、管理和优化,对于开发者和系统管理员来说,是一份极其重要的参考资料。 一、JBoss AS 7.1简介 JBoss AS 7.1在性能和可扩展性方面有显著提升,引入了模块化设计,...

    JBOSS教程(PDF)

    【JBOSS教程(PDF)】是一份针对JBoss Application Server 4.2的快速入门指南,旨在帮助用户迅速理解并掌握JBoss AS的基本概念、安装配置以及应用部署。JBoss AS是Red Hat公司开发的一个开源Java应用服务器,它基于...

    PacktPub.JBoss.AS.7.Development.Jun.2013.rar

    《PacktPub.JBoss.AS.7.Development.Jun.2013》是一部关于JBoss Application Server 7开发的详细教程,适用于那些希望深入了解如何在企业环境中部署和管理Java应用程序的开发者。这本书可能涵盖了JBoss AS 7的安装、...

    jboss4.3 起步指南

    JBoss AS 4.3(Application Server)作为一款开源的企业级Java应用服务器,为开发者提供了强大的Java EE(Java Enterprise Edition)环境支持。本文档旨在通过一系列实践指导和深入解析,帮助用户快速上手JBoss AS ...

    JBoss中文文档

    JBoss由JBoss AS(Application Server)发展而来,现已成为Red Hat企业版Java中间件的一部分,即Red Hat JBoss Enterprise Application Platform (EAP)。 本资源“JBoss中文文档”可能是对JBoss应用服务器的中文版...

    JBoss学习全集多本书整合

    JBoss AS(Application Server)的后继者WildFly,引入了更多的扩展点,例如使用`subsystem`来添加新的服务或管理接口。理解这些机制对于开发者来说,意味着能够创建更高效、可维护的系统。 此外,JBoss的安全管理...

    jboss server工具

    2. 性能调优:通过对JVM参数、线程池、内存配置的调整,可以提升JBoss Server的运行效率。 总的来说,JBoss Server作为一款强大的Java EE应用服务器,集成了丰富的功能和工具,为开发者提供了稳定、高效的工作环境...

    Jboss基础.pdf

    - **下载与解压**:从官方网站获取最新版本的JBoss AS或WildFly(JBoss的新版本),解压缩到指定目录。 - **配置环境变量**:设置JAVA_HOME指向JDK安装路径,将JBoss的bin目录添加到PATH环境变量中。 - **启动与...

    Jboss服务器常用配置

    在`standalone.conf`(或`standalone.conf.bat`)中,添加`-Djboss.modules.system.pkgs=com.example,org.jboss.as`参数,其中`com.example`是你的应用包名。 八、集群配置 对于多服务器环境,可以配置集群以实现...

    JBoss用户操作指南

    - **版本**:有多个版本,如JBoss AS(Application Server)、WildFly、EAP(Enterprise Application Platform)等。 2. **安装与配置** - **系统需求**:确保满足硬件和软件要求,例如Java SDK、操作系统兼容性...

    JBoss开发实践指南

    最后,书中可能会涵盖一些进阶主题,如JBoss AS(Application Server)与WildFly的区别、Spring与JBoss的整合、以及JBoss在微服务架构中的角色等。这些内容将帮助读者更好地适应不断发展的Java企业级应用环境。 ...

    jboss

    JBoss 4是JBoss的一个重要版本,发布于2005年,引入了许多新特性,并且是向JBoss AS 5和6过渡的关键步骤。以下是一些可能包含在该文档中的关键知识点: 1. **安装与配置**:介绍如何下载JBoss 4的源码或二进制包,...

Global site tag (gtag.js) - Google Analytics