SAR (Service Archive) file in JBoss

SHARE & COMMENT :

This tips explains how to create and deploy the SAR file in the JBoss application server. SAR files are only used in the JBoss application server. It cannot be used in the other application server environments. Before looking into creating a SAR file, first let you know what is SAR file.

also read:

What is SAR file?

SAR file is created with the .sar extenstion same like how other archive files (JAR, WAR, EAR) created. But the purpose of the SAR file is differenet from the other archive files. It is used for deploying a service component in the application server without  dependent on other components. You can create a seperate component as a SAR file and deploy it in the server. When application server starts, the component will be deployed and started running independently. Most of the times these SAR files are used for writing thread related components which has to be running independently.

JBoss’s service archive architecture is based on the Java Extension Management (JMX). During the server bootup process, the service archive deployer (SARDeployer) instantiates the JBoss service classes and exposes them as manageable beans hrough JMX. You can view all of registered JBoss service components in the JBoss JMX Console web application.

Create SAR file

In this section we will see how to create the SAR file. The following are the steps required to create a SAR file:

Add JAR Files

Jakarta Commons IO, Jakarta Commons Logging, jboss-common.jar, jboss-jmx.jar
,jboss-system.jar, jboss-xml-binding.jar

Create MBean interface as Follows :

	public interface JavaBeatMBean implements ServiceMBean{
		public void start();
		public void stop();
	}

Create MBean implementation class as Follows :

	public class JavaBeat{
		public void start(){
			System.out.println("Test Start");
		}
		public void stop(){
			System.out.println("Test Stop");
		}
	}

Create a new implementation class, JavaBeat, that implements JavaBeatMBean. As prescribed by the standard MBean specs, the implemented class must have the same name as the MBean interface minus the “MBean” suffix. Now we have created the service component, its time to package and deploy the component.

Create jboss-service.xml as follows:

This file should be kept inside the META-INF folder.

Build and create SAR file

When you build and creating the SAR file, it should be in the following package structure:
javabeat-service.sar->META-INF/jboss-service.xml
javabeat-service.sar->JavaBeat.class
javabeat-service.sar->JavaBeatMBean.class
javabeat-service.sar->JAR files

when you deploy this SAR file, application server will deploy the component and start the JavaBeat class’s start methods.
start is a callback method in the MBean interfaces.

Comments

comments

About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Comments

  1. Please correct all the occurances of the misspelled word "componenEt"!

  2. Oops… you've got an error in there… ServiceMBean is a class… it cannot be implemented as an interface…

Speak Your Mind

*

Close
Please support the site
By clicking any of these buttons you help our site to get better