JBoss 6.x Tuning/Slimming

    Introduction

    The following slimming recommendations are for a standard JBoss AS 6.0.0 final (Community) "All" configuration.

    Slimming is very application specific, so this is by no means a universal document. If you have documented the process for slimming other services for JBoss 6.x please add to them here.

     

    The slimming document for JBoss5.x http://community.jboss.org/wiki/JBoss5xTuningSlimming will be not complete out of date for JBoss 6.x, so you might look into.

     

    Remove hornetQ JMS (Java Message Service)

    In server/<node>/deploy/ remove:

    • hornetq
    • jms-ra.rar

    In server/<node>/deployers/ remove:

    • hornetq

    In common/lib remove (only if no server configuration use hornetq)

    • hornetq*

    In server/<node>/conf/ remove useless configuration:

    • delete element <application-policy name="hornetq"> from login-congig.xml
    • remove props/hornetq-roles.properties
    • remove props/hornetq-users.properties

     

    Turn off hot deployment

    In server/<node>/deploy/ remove:

    • hdscanner-jboss-beans.xml

     

    Remove Hypersonic DB

    In server/<node>/deploy/ remove:

    • hsqldb-ds.xml

    In common/lib remove (only if no server configuration use hornetq)

    • hsqldb.jar hsqldb-plugin.jar

    The following services use the "DefaultDS" datasource for persistence:

    • JUDDI
    • UUID key generator
    • EJB2 timer

    One option is to remove or adapt such services, the other option is to provide a datasource "DefaultDS" for another RDBMS.

    Datasource examples will be located in docs/examples/jca.

    EJB2 Timer service

    To deactivate persistence for EJB2 timer replace:

     

    <mbean code="org.jboss.ejb.txtimer.DatabasePersistencePolicy" name="jboss.ejb:service=EJBTimerService,persistencePolicy=database">

        <!-- DataSourceBinding ObjectName -->

        <depends optional-attribute-name="DataSource">jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>

        <!-- The plugin that handles database persistence -->

        <attribute name="DatabasePersistencePlugin">org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin</attribute>

        <!-- The timers table name -->

        <attribute name="TimersTable">TIMERS</attribute>

        <depends>jboss.jdbc:datasource=DefaultDS,service=metadata</depends>

      </mbean>

    ...

    <mbean code="org.jboss.ejb.txtimer.EJBTimerServiceImpl" ...

       <depends optional-attribute-name="PersistencePolicy">jboss.ejb:service=EJBTimerService,persistencePolicy=database</depends>

     

    with:

    <mbean code="org.jboss.ejb.txtimer.NoopPersistencePolicy" name="jboss.ejb:service=EJBTimerService,persistencePolicy=noop"/>

    ...

      <mbean code="org.jboss.ejb.txtimer.EJBTimerServiceImpl" ...

       <depends optional-attribute-name="PersistencePolicy">jboss.ejb:service=EJBTimerService,persistencePolicy=noop</depends>

     

    Remove JUDDI

    In server/<node>/deploy/ remove:

    • juddi-service.sar

    Remove Key Generator

    In server/<node>/deploy/ remove:

    • uuid-key-generator.sar

     

    Remove Administration console

    In JBOSS_HOME/common/deploy/ remove:

    • admin-console.war

    In JBOSS_HOME/server/<node>/deploy/ remove:

    • admin-console-activator-jboss-beans.xml

     

    Remove JMX console

    https://community.jboss.org/message/734664#734664

    In JBOSS_HOME/common/deploy/ remove:

    • jmx-console.war

    In JBOSS_HOME/server/<node>/deploy/ remove:

    • jmx-console-activator-jboss-beans.xml

     

    Remove JBoss Web Services console

    In JBOSS_HOME/common/deploy/ remove:

    • jbossws-console.war

    In JBOSS_HOME/server/<node>/deploy/ remove:

    • jbossws-console.war
    • jbossws-console-activator-jboss-beans.xml