接上一篇。
如果使用JBossMQ ,你也需要编辑server/slim/deploy/jms/jbossmq-service.xml 和变更 InterceptorLoader? XML 片段,像下面这样:
<mbean code="org.jboss.mq.server.jmx.InterceptorLoader" name="jboss.mq:service=TracingInterceptor"> <attribute name="InterceptorClass">org.jboss.mq.server.TracingInterceptor</attribute> <depends optional-attribute-name="NextInterceptor">jboss.mq:service=DestinationManager</depends> <!-- <depends optional-attribute-name="NextInterceptor">jboss.mq:service=SecurityManager</depends> --> </mbean>
你也需要注释或者删除(从server/slim/deploy/jms/jbossmq-service.xml文件):
<!— <mbean code="org.jboss.mq.security.SecurityManager" name="jboss.mq:service=SecurityManager"> <attribute name="DefaultSecurityConfig"> <security> <role name="guest" read="true" write="true" create="true"/> </security> </attribute> <attribute name="SecurityDomain">java:/jaas/jbossmq</attribute> <depends optional-attribute-name="NextInterceptor">jboss.mq:service=DestinationManager</depends> </mbean> -->
修改死亡信队列项(server/slim/deploy/jms/jbossmq-service.xml) 注释掉安全源:
<!—死亡信队列--> <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=DLQ"> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> <!-- <depends optional-attribute-name="SecurityManager">jboss.mq:service=SecurityManager</depends> --> </mbean> 在 server/slim/deploy/jms/jms-ds.xml文件中修改JmsXA 项如下: <!-- JMS XA 资源适配器, 在beans中使用这个得到处理JMS--> <tx-connection-factory> <jndi-name>JmsXA</jndi-name> <xa-transaction/> <adapter-display-name>JMS Adapter</adapter-display-name> <config-property name="SessionDefaultType" type="java.lang.String">javax.jms.Topic</config-property> <config-property name="JmsProviderAdapterJNDI" type="java.lang.String">java:/DefaultJMSProvider</config-property> <max-pool-size>20</max-pool-size> <!-- <security-domain-and-application>JmsXARealm</security-domain-and-application> --> </tx-connection-factory>
如果使用JBoss 4, also do this 2 things: 在 conf/login-config.xml文件中, 注释下面的:
<!—测试jca框架的安全域 <application-policy name = "HsqlDbRealm"> <authentication> <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required"> <module-option name = "principal">sa</module-option> <module-option name = "userName">sa</module-option> <module-option name = "password"></module-option> <module-option name = "managedConnectionFactoryName"> jboss.jca:service=LocalTxCM,name=DefaultDS </module-option> </login-module> </authentication> </application-policy> <application-policy name = "JmsXARealm"> <authentication> <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required"> <module-option name = "principal">guest</module-option> <module-option name = "userName">guest</module-option> <module-option name = "password">guest</module-option> <module-option name = "managedConnectionFactoryName"> jboss.jca:service=TxCM,name=JmsXA </module-option> </login-module> </authentication> </application-policy> -->
和在deploy/hsqldb-ds.xml文件中注释:
<!-- 在conf/login-config.xml文件中使用清晰的安全域 <security-domain>HsqlDbRealm</security-domain> -->
如果你不使用池请求(Pooled Invoker)If you are not using the (见调优章节,也也许想使用池请求) 然后打开 server/slim/conf/jboss-service.xml 文件删掉:
<!-- <mbean code="org.jboss.invocation.pooled.server.PooledInvoker" name="jboss:service=invoker,type=pooled"> <attribute name="NumAcceptThreads">1</attribute> <attribute name="MaxPoolSize">300</attribute> <attribute name="ClientMaxPoolSize">300</attribute> <attribute name="SocketTimeout">60000</attribute> <attribute name="ServerBindAddress">${jboss.bind.address}</attribute> <attribute name="ServerBindPort">4445</attribute> <attribute name="ClientConnectAddress">${jboss.bind.address}</attribute> <attribute name="ClientConnectPort">0</attribute> <attribute name="EnableTcpNoDelay">false</attribute> <depends optional-attribute-name="TransactionManagerService"> jboss:service=TransactionManager</depends> </mbean> -->
如果你不希望使用 BeanShell deployer打开 server/slim/conf/jboss-service.xml 文件删除或者注释
<mbean code="org.jboss.varia.deployment.BeanShellSubDeployer" name="jboss.scripts:service=BSHDeployer"> </mbean>
删除 server/slim/bsh* (bsh-deployer.jar, bsh-1.3.0.jar)
如果你不使用热部署文件到server/slim/deploy 文件夹,而从外部重启JBoss:打开 server/slim/conf/jboss-service.xml 文件,改变这个 XML的片段:
<!—热部署/反部署归档文件的mbean. --> <mbean code="org.jboss.deployment.scanner.URLDeploymentScanner" name="jboss.deployment:type=DeploymentScanner,flavor=URL"> ... <attribute name="ScanPeriod">5000</attribute> ... </mbean>
改为(加入):
<!--热部署/反部署归档文件的mbean.--> <mbean code="org.jboss.deployment.scanner.URLDeploymentScanner" name="jboss.deployment:type=DeploymentScanner,flavor=URL"> ... <attribute name="ScanPeriod">5000</attribute> <attribute name="ScanEnabled">False</attribute> ... </mbean>
就这个性能透视而言,看其他建议的调整章节 如果你不使用集群l 最好的方法就是从"default"配置启动,而不是使用"all"配置启动. 然后从"all"配置里带来的一些各种服务,你在"default"配置里没有使用.如果你必须从“all”配置启动:
移除 server/slim/farm
移除server/slim/deploy-hasingleton
移除server/slim/deploy/cluster-service.xml
移除server/slim/deploy/tc5-cluster-service.xml (或者 在4.0.4或者以前的版本上的server/slim/deploy/tc5-cluster.sar)
移除server/slim/deploy/deploy.last/farm-service.xml
移除server/slim/deploy/deploy-hasingleton-service.xml
进入到 server/slim/deploy/jms 文件夹, 删除它的内容,并从server/default/deploy/jms文件夹复制他们到这里.
编辑 server/slim/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml 移除下面的片段:
<!-- 如果需要使用HTTP会话集群(HTTP Session Clustering)或者如果在tomcat的server.xml文件中 ClusteredSingleSignOn 值是enabled --> <depends>jboss.cache:service=TomcatClusteringCache</depends>
如果你不使用分布式(集群)web会话(sessions)
移除 server/slim/deploy/tc5-cluster-service.xml (或者 在4.0.4或者以前的版本上的server/slim/deploy/tc5-cluster.sar)
编辑 server/slim/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml 移除这个片段:
<!-- 如果需要使用HTTP会话集群(HTTP Session Clustering)或者如果在tomcat的server.xml文件中 ClusteredSingleSignOn 值是enabled --> <depends>jboss.cache:service=TomcatClusteringCache</depends>
如果你不使用Farm服务 (复制部署)
移除server/slim/farm
移除server/slim/deploy/deploy.last/farm-service.xml
JBoss AS的调优与瘦身就翻译完了,翻译的不好,请谅解。还有就是这也只是看看,到底用途和状况怎么样,还需要具体的实践工作。