JBoss Messaging requires the following services to run
-JNDI
-JCA
-Transaction Service, required for JCA
-Security, Required for JCA
JBoss Application Server is based around an elegant service architecture where individual services can be removed if not necessary.
To create a "standalone" server, you can simply remove all those services not necessary for JBoss Messaging to run. Here are the steps to do that :
NOTE
The following procedure has been tested against JBoss-EAP-4.3.x, this may be slightly different for different versions of JBoss AS and JBM.
-Make a copy of your default server configuration and named it as slim
cp -r $JBOSS_HOME/server/default $JBOSS_HOME/server/slim
-Remove the conetnts inside your deployment directory inside the slim server configuration
rm -rf $JBOSS_HOME/server/slim/deploy/
-Copy the following files from your $JBOSS_HOME/server/default/deploy/ to $JBOSS_HOME/server/slim/deploy/
hsqldb-ds.xml jboss-aop-jdk50.deployer jboss-ha-local-jdbc.rar jbossjca-service.xml jboss-local-jdbc.rar jboss-messaging.sar sqlexception-service.xml
-Remove all the existing libraries in your lib directory, inside the slim server configuration
rm -rf $JBOSS_HOME/server/slim/lib/
-Copy the following files from your $JBOSS_HOME/server/default/lib/ to $JBOSS_HOME/server/slim/lib/
hsqldb.jar jboss-remoting.jar jboss.jar javassist.jar jboss-common-jdbc-wrapper.jar jboss-j2ee.jar jboss-jca.jar jbossjta.jar jboss-transaction.jar jbossts-common.jar commons-logging.jar jboss-messaging-client.jar jboss-messaging.jar jbosssx.jar hsqldb-plugin.jar jbossjta-integration.jar jboss-serialization.jar jboss-management.jar jboss-minimal.jar jnpserver.jar log4j.jar
-Open your jboss-service.xml file, located at $JBOSS_HOME/server/slim/conf
Remove the following :
<mbean code="org.jboss.management.j2ee.LocalJBossServerDomain" name="jboss.management.local:j2eeType=J2EEDomain,name=Manager"> <attribute name="MainDeployer">jboss.system:service=MainDeployer</attribute> <attribute name="SARDeployer">jboss.system:service=ServiceDeployer</attribute> <attribute name="EARDeployer">jboss.j2ee:service=EARDeployer</attribute> <attribute name="EJBDeployer">jboss.ejb:service=EJBDeployer</attribute> <attribute name="RARDeployer">jboss.jca:service=RARDeployer</attribute> <attribute name="CMDeployer">jboss.jca:service=ConnectionFactoryDeployer</attribute> <attribute name="WARDeployer">jboss.web:service=WebServer</attribute> <attribute name="CARDeployer">jboss.j2ee:service=ClientDeployer</attribute> <attribute name="MailService">jboss:service=Mail</attribute> <attribute name="JMSService">jboss.messaging:service=ServerPeer</attribute> <attribute name="JNDIService">jboss:service=Naming</attribute> <attribute name="JTAService">jboss:service=TransactionManager</attribute> <attribute name="UserTransactionService">jboss:service=ClientUserTransaction</attribute> <attribute name="RMI_IIOPService">jboss:service=CorbaORB</attribute> </mbean>
-[Hypersonic|http://wiki.jboss.org/auth/wiki/HypersonicProduction] is NOT a production ready database. Move on to a production ready database such as MySQL, PostgreSQL, etc.
-Remove following libraries from your $JBOSS_HOME/server/slim/lib directory
hsqldb.jar hsqldb-plugin.jar
-Start the server ./run.sh -cslim
Comments