Difference between revisions of "Configure JBoss service"

From OpenKM Documentation
Jump to: navigation, search
Line 89: Line 89:
  
 
Rem Start Here
 
Rem Start Here
 +
 
set JAVA_HOME=d:/jdk1.6.0
 
set JAVA_HOME=d:/jdk1.6.0
 +
 
set javadll=%JAVA_HOME%\jre\bin\client\jvm.dll
 
set javadll=%JAVA_HOME%\jre\bin\client\jvm.dll
 +
 
set javatool=%JAVA_HOME%\lib\tools.jar
 
set javatool=%JAVA_HOME%\lib\tools.jar
 +
 
set javarun=%JBOSS_HOME%\bin\run.jar
 
set javarun=%JBOSS_HOME%\bin\run.jar
 +
 
set outlog=%JBOSS_HOME%\bin\stdout.log
 
set outlog=%JBOSS_HOME%\bin\stdout.log
 +
 
set errlog=%JBOSS_HOME%\bin\stderr.log
 
set errlog=%JBOSS_HOME%\bin\stderr.log
 +
  
 
JBossService.exe -install JBoss "%javadll%" -Djava.class.path="%javatool%";"%javarun%" -Xms1024M -Xmx1024M -start org.jboss.Main -stop org.jboss.Main -method systemExit -out "%outlog%" -err "%errlog%" -current "%JBOSS_HOME%\bin" -manual
 
JBossService.exe -install JBoss "%javadll%" -Djava.class.path="%javatool%";"%javarun%" -Xms1024M -Xmx1024M -start org.jboss.Main -stop org.jboss.Main -method systemExit -out "%outlog%" -err "%errlog%" -current "%JBOSS_HOME%\bin" -manual

Revision as of 10:10, 12 March 2010

For security reasons you shouldn't run JBoss as root. It is better to create an user named openkm and run JBoss from him:

$ adduser openkm

Create a file with the script:

$ vim /etc/init.d/jboss
#!/bin/sh
# /etc/init.d/jboss: Start and stop JBoss AS
ECHO=/bin/echo
TEST=/usr/bin/test
JBOSS_START_SCRIPT=/home/openkm/jboss-4.2.2.GA/bin/run.sh
JBOSS_STOP_SCRIPT=/home/openkm/jboss-4.2.2.GA/bin/shutdown.sh

$TEST -x $JBOSS_START_SCRIPT || exit 0
$TEST -x $JBOSS_STOP_SCRIPT || exit 0

start() {
    $ECHO -n "Starting JBoss"
    su - openkm -c "$JBOSS_START_SCRIPT -b 0.0.0.0 > /dev/null 2> /dev/null &"
    $ECHO "."
}

stop() {
    $ECHO -n "Stopping JBoss"
    su - openkm -c "$JBOSS_STOP_SCRIPT -S > /dev/null &"
    $ECHO "."
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        sleep 30
        start
        ;;
    *)
        $ECHO "Usage: jboss {start|stop|restart}"
        exit 1
esac
exit 0

And make it executable:

$ chmod 755 /etc/init.d/jboss

Now update the run-levels:

$ update-rc.d jboss defaults

Also is a good idea to configure JBoss memory utilization. Edit the file $JBOSS_HOME/bin/run.sh and add a new parameter JAVA_OPTS where you can increase the system memory managed by the JVM (Java Virtual Machine):

DIRNAME=`dirname $0`
PROGNAME=`basename $0`
GREP="grep"
JAVA_OPTS="-Xmx1744m -XX:MaxPermSize=256m"

This example is for a system with 2 GB of RAM.

For more info, read http://jboss.org/community/docs/DOC-11566.


Running JBoss 4.2.3 as a Windows Service

here to have a smooth install.

1. Download JavaService-2.0.10.zip from http://download.forge.objectweb.org/javaservice/

2. Extract to C:\JavaService-2.0.10

3. copy JavaService.exe to jboss bin directory. In our case C:\jboss-4.2.3.GA\

4. Make sure JBOSS_HOME and JAVA_HOME are set. In our case: C:\jboss-4.2.3.GA\bin and D:\jdk1.6.0 respectively

5. Create a batch file install.bat in %JBOSS_HOME%/bin directory. Its contents should be as follows:

Rem Start Here

set JAVA_HOME=d:/jdk1.6.0

set javadll=%JAVA_HOME%\jre\bin\client\jvm.dll

set javatool=%JAVA_HOME%\lib\tools.jar

set javarun=%JBOSS_HOME%\bin\run.jar

set outlog=%JBOSS_HOME%\bin\stdout.log

set errlog=%JBOSS_HOME%\bin\stderr.log


JBossService.exe -install JBoss "%javadll%" -Djava.class.path="%javatool%";"%javarun%" -Xms1024M -Xmx1024M -start org.jboss.Main -stop org.jboss.Main -method systemExit -out "%outlog%" -err "%errlog%" -current "%JBOSS_HOME%\bin" -manual

Rem End Here


Make sure to set word wrap off in the file and do not forget the quotes. This will allow the Program Files path to work correctly. You can change the location of stderr.log and stdout.log to other path if you prefer. Start a cmd window and cd to %JBOSS_HOME%\bin. run install.bat by typing install. This will install JBoss as a service. To start the service type net start JBoss.

JBoss should now be running as a service. Enjoy.