接上一篇。
瘦身(三)
如果使用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>
-
-
-
- </mbean>
<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>
- -->
<!—
<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>
-->
修改死亡信隊(duì)列項(xiàng)(server/slim/deploy/jms/jbossmq-service.xml) 注釋掉安全源:
- <!—死亡信隊(duì)列-->
- <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>
-
-
-
- </mbean>
- 在 server/slim/deploy/jms/jms-ds.xml文件中修改JmsXA 項(xiàng)如下: <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>
-
-
-
- </tx-connection-factory>
<!—死亡信隊(duì)列-->
<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 項(xiàng)如下: <!-- JMS XA 資源適配器, 在beans中使用這個(gè)得到處理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文件中, 注釋下面的:
- <!—測(cè)試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>
- -->
<!—測(cè)試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>
- -->
<!--
在conf/login-config.xml文件中使用清晰的安全域
<security-domain>HsqlDbRealm</security-domain>
-->
如果你不使用池請(qǐng)求(Pooled Invoker)If you are not using the (見(jiàn)調(diào)優(yōu)章節(jié),也也許想使用池請(qǐng)求) 然后打開(kāi) 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>
- -->
<!--
<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打開(kāi) server/slim/conf/jboss-service.xml 文件刪除或者注釋
- <mbean code="org.jboss.varia.deployment.BeanShellSubDeployer" name="jboss.scripts:service=BSHDeployer">
- </mbean>
<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:打開(kāi) server/slim/conf/jboss-service.xml 文件,改變這個(gè) 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>
...
</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>
<!--熱部署/反部署歸檔文件的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>
就這個(gè)性能透視而言,看其他建議的調(diào)整章節(jié) 如果你不使用集群l 最好的方法就是從"default"配置啟動(dòng),而不是使用"all"配置啟動(dòng). 然后從"all"配置里帶來(lái)的一些各種服務(wù),你在"default"配置里沒(méi)有使用.如果你必須從“all”配置啟動(dòng):
移除 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
進(jìn)入到 server/slim/deploy/jms 文件夾, 刪除它的內(nèi)容,并從server/default/deploy/jms文件夾復(fù)制他們到這里.
編輯 server/slim/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml 移除下面的片段:
-
-
-
- <depends>jboss.cache:service=TomcatClusteringCache</depends>
<!--
如果需要使用HTTP會(huì)話集群(HTTP Session Clustering)或者如果在tomcat的server.xml文件中 ClusteredSingleSignOn 值是enabled
-->
<depends>jboss.cache:service=TomcatClusteringCache</depends>
如果你不使用分布式(集群)web會(huì)話(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 移除這個(gè)片段:
-
-
-
- <depends>jboss.cache:service=TomcatClusteringCache</depends>
<!--
如果需要使用HTTP會(huì)話集群(HTTP Session Clustering)或者如果在tomcat的server.xml文件中 ClusteredSingleSignOn 值是enabled
-->
<depends>jboss.cache:service=TomcatClusteringCache</depends>
如果你不使用Farm服務(wù) (復(fù)制部署)
移除server/slim/farm
移除server/slim/deploy/deploy.last/farm-service.xml
JBoss AS的調(diào)優(yōu)與瘦身就翻譯完了,翻譯的不好,請(qǐng)諒解。還有就是這也只是看看,到底用途和狀況怎么樣,還需要具體的實(shí)踐工作。