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