Running VoiceObjects in JBoss Web Application Server
Introduction
VoiceObjects Server and Desktop instances can be run in the Web Application Server JBoss. The configuration is a bit more complicated compared to the recommend default web application servers Jetty or Tomcat.
VoiceObjects recommends running VoiceObjects only in JBoss in case a specialist for JBoss is available.
This article describes the main steps to deploy VoiceObjects in JBoss. For more information on the setup of Jboss please check the online documentation:
- http://www.jboss.org/jbossas/docs/
and the JBoss Wiki:
- http://www.jboss.org/community/docs/DOC-11337
Getting Started
To run VoiceObjects in JBoss, it is needed to create standard WAR-Files with the VoiceObjects Server installer. It is possible to either create them only - or use the option to generate WAR files after a successful standard installation.
Please refer to the Installation Guide (VO-Installation.pdf) indise the VoiceObjects version of your choice on how to create the WAR files - and on how to install VoiceObjects in general. Please note, that the prerequisites for running VoiceObjects need to be fulfilled.
JBoss application server needs to be set up on the machine. Usually it is sufficient to download JBoss and unpack the compressed file into a folder. The system variable JAVA_HOME needs to be set.
Please refer to the JBoss documentation on more details for the setup and start of JBoss.
Startup & Run Parameters
- Memory: To set the Xmx and Xms values it is needed to edit one of the following files. Please note that this will lead to different files for Desktop and Server instances!
- Linux: edit the run.conf or run.sh
- Windows: edit the run.bat
It is helpful to create different scripts / batch files for the different types of VoiceObjects instances (Server / Desktop) to ensure that each gets the needed amount of RAM assigned.
- Ports
- VoiceObjects HTTP access : The internal Tomcat server.xml needs to be edited. The file can be found in [JBoss-Install]\server\[instance-name]\deploy\jboss-web.deployer\server.xml.
Please edit the setting <Connector port="8081" [...] protocol="HTTP/1.1" [...]>
Take care of other ports of Tomcat in case another Tomcat is already running. This might be the port 8009 from this file.
- Internal JBoss Ports : It may be needed (depending on the other port settings) to additionally change some internal JBoss ports. At least one of them is "8081" and can be configured in [JBoss-Install]\[instance-name]ßserver\conf\jboss-service.xml.
- Listen Addresses : The listen address for an instance is provided to the start script (run.*) with the -b option. When only one interface should be used, the parameter is "-b [ip-address]", when all interfaces should be addressed it is "-b 0.0.0.0"
Setting up Instances in JBoss
To set up different instances from one JBoss installation, the easiest way is to create a copy of the instance folder in the same directory. The startup of JBoss then needs the parameter "-c [folderName]" to start this JBoss instance.
There will be lots of unneeded stuff / services in this instance of JBoss.
VoiceObjects has not yet tested what is the minimal configuration to run VoiceObjects only on a JBoss instance. The following Web-resource might be helpful in getting more information: http://www.jayson.in/programming/how-to-configure-jboss-as-production-settings-and-tuning-tips.html -> Step 7 - Removing unwanted applications and services
Deploy & start VoiceObjects in JBoss
To deploy VoiceObjects in JBoss, it is needed to copy the VoiceObjects WAR file into the folder <instance>\deploy. JBoss will then pick the file and deploy it automatically. It is recommended to have one instance in JBoss per VoiceObjects instance (be it Desktop or Server). This will prohibit issues when two instances run in the same JVM. Additionally it is possible to provide different port and memory settings when using one JBoss instance.
To start up the instance voDesktop on all interfaces of your machine, please run run.bat -c voDesktop -b 0.0.0.0
Appendix A: Folder Structure
General Structure
Temporary VoiceObjects path for logfiles & review of currently active config files
Appendix B: More Resources
More Resources from the Internet - please note that these may change...
http://today.java.net/pub/a/today/2005/03/01/InstallingJBoss.html