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 JBOSS_HOME/server/<node>/deploy/ remove:

  • hornetq
  • jms-ra.rar

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

  • hornetq

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

  • hornetq*

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

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

Turn off hot deployment

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

  • hdscanner-jboss-beans.xml

Remove Hypersonic DB

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

  • hsqldb-ds.xml

In JBOSS_HOME/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 JBOSS_HOME/server/<node>/deploy/ remove:

  • juddi-service.sar

Remove Key Generator

In JBOSS_HOME/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

Published by

Claudio Cardozo

Ubuntu Kernel Team Membership, Certified SCRUM Master, System Architect, Open Source enthusiastic, Java and JavaFX passioned, OpenCRX Team, Theologist, minimalist lifestyle, eitaa!

Leave a Reply