JBoss.orgCommunity Documentation
Copyright © 2009 Red Hat, Inc.
Abstract
The JBoss Communications Platform is the first and only open source VoIP platform certified for JAIN SLEE 1.1 and SIP Servlets 1.1 compliance. JBoss Communications serves as a high-performance core for Service Delivery Platforms (SDPs) and IP Multimedia Subsystems (IMSes) by leveraging J2EE to enable the convergence of data and video in Next-Generation Intelligent Network (NGIN) applications.
The JBoss Communications JAIN SLEE is at the heart of the platform, a high-performance, scalable and fault tolerant Java Service Level Execution Environment.
This manual uses several conventions to highlight certain words and phrases and draw attention to specific pieces of information.
In PDF and paper editions, this manual uses typefaces drawn from the Liberation Fonts set. The Liberation Fonts set is also used in HTML editions if the set is installed on your system. If not, alternative but equivalent typefaces are displayed. Note: Red Hat Enterprise Linux 5 and later includes the Liberation Fonts set by default.
Four typographic conventions are used to call attention to specific words and phrases. These conventions, and the circumstances they apply to, are as follows.
Mono-spaced Bold
Used to highlight system input, including shell commands, file names and paths. Also used to highlight key caps and key-combinations. For example:
To see the contents of the file
my_next_bestselling_novel
in your current working directory, enter thecat my_next_bestselling_novel
command at the shell prompt and press Enter to execute the command.
The above includes a file name, a shell command and a key cap, all presented in Mono-spaced Bold and all distinguishable thanks to context.
Key-combinations can be distinguished from key caps by the hyphen connecting each part of a key-combination. For example:
Press Enter to execute the command.
Press Ctrl+Alt+F1 to switch to the first virtual terminal. Press Ctrl+Alt+F7 to return to your X-Windows session.
The first sentence highlights the particular key cap to press. The second highlights two sets of three key caps, each set pressed simultaneously.
If source code is discussed, class names, methods, functions, variable names and returned values mentioned within a paragraph will be presented as above, in Mono-spaced Bold
. For example:
File-related classes include
filesystem
for file systems,file
for files, anddir
for directories. Each class has its own associated set of permissions.
Proportional Bold
This denotes words or phrases encountered on a system, including application names; dialogue box text; labelled buttons; check-box and radio button labels; menu titles and sub-menu titles. For example:
Choose Mouse Preferences. In the Buttons tab, click the Left-handed mouse check box and click to switch the primary mouse button from the left to the right (making the mouse suitable for use in the left hand).
from the main menu bar to launchTo insert a special character into a gedit file, choose from the main menu bar. Next, choose from the Character Map menu bar, type the name of the character in the Search field and click . The character you sought will be highlighted in the Character Table. Double-click this highlighted character to place it in the Text to copy field and then click the button. Now switch back to your document and choose from the gedit menu bar.
The above text includes application names; system-wide menu names and items; application-specific menu names; and buttons and text found within a GUI interface, all presented in Proportional Bold and all distinguishable by context.
Note the
shorthand used to indicate traversal through a menu and its sub-menus. This is to avoid the difficult-to-follow 'Select from the sub-menu in the menu of the main menu bar' approach.
or Mono-spaced Bold Italic
Proportional Bold Italic
Whether Mono-spaced Bold or Proportional Bold, the addition of Italics indicates replaceable or variable text. Italics denotes text you do not input literally or displayed text that changes depending on circumstance. For example:
To connect to a remote machine using ssh, type
ssh
at a shell prompt. If the remote machine isusername
@domain.name
example.com
and your username on that machine is john, typessh john@example.com
.The
mount -o remount
command remounts the named file system. For example, to remount thefile-system
/home
file system, the command ismount -o remount /home
.To see the version of a currently installed package, use the
rpm -q
command. It will return a result as follows:package
.
package-version-release
Note the words in bold italics above username, domain.name, file-system, package, version and release. Each word is a placeholder, either for text you enter when issuing a command or for text displayed by the system.
Aside from standard usage for presenting the title of a work, italics denotes the first use of a new and important term. For example:
When the Apache HTTP Server accepts requests, it dispatches child processes or threads to handle them. This group of child processes or threads is known as a server-pool. Under Apache HTTP Server 2.0, the responsibility for creating and maintaining these server-pools has been abstracted to a group of modules called Multi-Processing Modules (MPMs). Unlike other modules, only one module from the MPM group can be loaded by the Apache HTTP Server.
Two, commonly multi-line, data types are set off visually from the surrounding text.
Output sent to a terminal is set in Mono-spaced Roman
and presented thus:
books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs
Source-code listings are also set in Mono-spaced Roman
but are presented and highlighted as follows:
package org.jboss.book.jca.ex1; import javax.naming.InitialContext; public class ExClient { public static void main(String args[]) throws Exception { InitialContext iniCtx = new InitialContext(); Object ref = iniCtx.lookup("EchoBean"); EchoHome home = (EchoHome) ref; Echo echo = home.create(); System.out.println("Created Echo"); System.out.println("Echo.echo('Hello') = " + echo.echo("Hello")); } }
Finally, we use three visual styles to draw attention to information that might otherwise be overlooked.
A note is a tip or shortcut or alternative approach to the task at hand. Ignoring a note should have no negative consequences, but you might miss out on a trick that makes your life easier.
Important boxes detail things that are easily missed: configuration changes that only apply to the current session, or services that need restarting before an update will apply. Ignoring Important boxes won't cause data loss but may cause irritation and frustration.
A Warning should not be ignored. Ignoring warnings will most likely cause data loss.
If you find a typographical error in this manual, or if you have thought of a way to make this manual better, we would love to hear from you! Please submit a report in Bugzilla: http://bugzilla.redhat.com/bugzilla/ against the product ${product.name}, or contact the authors.
When submitting a bug report, be sure to mention the manual's identifier:
If you have a suggestion for improving the documentation, try to be as specific as possible when describing it. If you have found an error, please include the section number and some of the surrounding text so we can find it easily.
JBoss Operations Network is the JBoss/Red Hat solution for enterprise management which provides administration, monitoring, alerting, operational control and configuration in an enterprise setting with fine-grained security and an advanced extension model.
More information regarding JBoss Operations Network can be found at the official page [http://www.jboss.org/jopr]
JBoss Communications JAIN SLEE takes advantage of this full-featured platform, with its custom plugin. This allows complete management, such as deployment and installation of JAIN SLEE Deployable Units, creation and activation of Resource Adaptor Entities, etc. as well as monitoring critical resources, such as the number of Activities present, SBB Entities, etc.
Since JBoss Operations Network relies on a plugin system, the same instance can be used to administer/monitor JBoss Communications JAIN SLEE, JBoss Communications SIP Servlets and JBoss Communications Media Server, providing a seamless environment for managing the complete suite, including the hosting JBoss AS instances as well.
Ensure that the following requirements have been met before continuing with the install.
Once unzipped, the JBoss Operations Network binary release requires at least 300MB of free disk space. Keep in mind that disk space requirements may change from release to release.
The JBoss Operations Network platform will run on the same hardware that the JBoss Enterprise Application Platform runs on, but it is recommended at least 2GB or 4GB of RAM memory, for 32 or 64 bit Operating Systems.
A working installation of the Java Development Kit (JDK) version 5 or higher is required in order to run the JBoss Operations Network. Note that JBoss Enterprise Application Platform is a runtime dependency, but comes bundled with the binary distribution.
For instructions on how to install the JDK, refer to Appendix A, Java Development Kit (JDK): Installing, Configuring and Running.
In order to run JBoss Operations Network, an external database must be installed.
JBoss Operations Network is distributed with a Java embedded database called "H2", so if you are just running JBoss Operations Network to test it out and play with it, you can use that and not install an external database. But this Embedded H2 database is to be considered only for demo'ing and testing purposes. For production systems, you will need to install an external database.
The supported databases are:
Postgres versions 8.2.4 and higher are supported.
Oracle versions 10g and 11g are supported.
After installing the database, make note of the JDBC URL, username and password for the database. This information is required during the JBoss Operations Network Server installation.
JBoss Operations Network is based on and plugin-compatible with the multi-vendor RHQ management project. For the JBoss Communications Plugin to work correctly, version 1.4.x of RHQ is required.
Since there's no released version of JBoss Operations Network based on RHQ 1.4.x yet, RHQ itself will be used instead.
Download RHQ Server from SourceForge. This is the platform server, which will be responsible for storing, processing and presenting the data received by the agent(s).
Unzip the distribution in a suitable place (i.e. in a directory not too deeply nested and with no spaces or non-ASCII characters in its name)
This step is optional, if you're using Embedded H2 Database, you can skip to next
Install a database like PostgreSQL (version 8.2.4 +, please choose C locale for initdb), create a database instance called 'rhq' in it and a user 'rhqadmin' that owns this 'rhq' database.
create user rhqadmin password 'rhqadmin'; create database rhq owner rhqadmin;
Eventually set RHQ_SERVER_JAVA_HOME or RHQ_SERVER_JAVA_EXE_FILE_PATH env variables appropriately. This is needed if your JAVA_HOME does not point to a java installation that is valid with JBoss Operations Network (e.g. JAVA 1.4); JBoss Operations Network requires JAVA 5+.
In a terminal console, cd into the installation directory and start the Server:
bin/rhq-server.[sh|bat] console
After a few seconds, the messages on the console will stop. When this happens, point your browser to http://localhost:7080/ and run the installer:
Click on Click here to continue the installation
Choose your desired and installed database from the Database Type drop down list. If you don't want to install/use an external Database, choose H2 (embedded).
Default settings should be fine to install the server correctly. To test the DB connection, please click
button.If the rhqadmin.
button was used, make sure that the field is still filled, as some browsers lose the data in there. Default password isReview the seleceted settings, click
and wait for it to complete.Click on
when the progress bar stops.Log in (default user/password are: rhqadmin/rhqadmin), it is time to download and install the Agent.
The Agent is the component where our plugin will be running at. It is responsible for communicating with the managed resource (in this situation, the JAIN SLEE Server) to obtain vital data (eg: availability), metrics, operations execution, etc. and report back to the Server, who will process and display that data.
To download it, follow these steps:
Click on
→ .Click on Download Agent Installer and save it to where you wish to have it installed.
In a second terminal console, cd into the directory containing the downloaded jar and install it:
java -jar <agent-download.jar> --install[=<new agent dir>]
The optional parameter, new agent dir
indicates where the files will be installed, and defaults to the path where the jar is at.
cd into the newly created rhq-agent directory and start the Agent by issuing:
bin/rhq-agent.[sh|bat]
Answer the questions asked by the Agent, if any. Default setting should be sufficient.
There should be a console with a '> ' prompt. Don't close it, leave it running, it's the agent who will perform all the work.
For more detailed and up to date information, visit the JBoss Operations Network installation instructions.
JBoss Communications JAIN SLEE Plugin is the interface between JBoss Operations Network and JBoss Communications JAIN SLEE. It is responsible for gathering data from SLEE and transform it to JBoss Operations Network format. It is an agent plugin, since it runs on the agent side.
JBoss Communications JAIN SLEE Plugin, may be installed in two ways:
In the JBoss Operations Network GUI, in the top menu, head to
→ → :On the Agent Plugins tab (selected by default), on the bottom of the page, click , browse to the JBoss Operations Network plugin JAR file and select it. It will be listed for upload, as it can be seen in the following figure:
Finally, click the
button and the plugin will be deployed. Click and it should be shown in the list as "Mobicents JSLEE Server 2.x".If the agent is not running, start it and it will automatically download the new plugin. If it was already running, you should run the following command in it's console to download/update the plugin:
> plugins update
The plugin can be deployed simply by copying it to the right folder, by following these steps:
Stop the JBoss Operations Network server and agent if they are running.
Copy the mobicents-slee-jopr-as-5-plugin-<version>.jar to the jopr-server/jbossas/server/default/deploy/rhq.ear/rhq-downloads/rhq-plugins/ directory, and it will be automatically deployed.
Start the JBoss Operations Network server.
Start the JBoss Operations Network agent.
After the plugin is installed, the server must be added to the managed resources. Choose
→ :Please make sure that the JAIN SLEE Server is running at this time, otherwise it won't be shown under Auto Discovery.
If the JAIN SLEE Server is running but not shown in the list, issue the following commands in th Jopr Agent console:
> plugins update ... > discovery
Back in the web console, refresh the Auto Discovery view and it should be present!
Check the option referring to JAIN SLEE Server (as in the figure below), and click
button.Now the server is being can be managed and monitored with JBoss Operations Network.
This section describes the main view of JBoss Operations Network JAIN SLEE Plugin.
In order to access this, go to the top menu and select
→ . A list should be presented, where JAIN SLEE server is present. Click it to access server details.You should have something similar to the following figure:
As you can see in the left side menu you have the following components that can be managed by JBoss Operations Network:
Deployable Units
Resource Adaptors
SBBs
Services
Each one will be described and explained in it's own section.
Not a component of JAIN SLEE itself, but as a crucial part of it's core is the Event Router and it's Executors. This component is also described in it's own section.
In the top, at the summary section the Type, Version and State of the server is shown.
By accessing the MONITOR tab it's possible to see a graph showing the availability of the server over time.
By accessing the INVENTORY tab a table presenting the installed components and deployable units is shown.
If components are installed outside JBoss Operations Network, after JBoss Operations Network Agent is started, the list of installed components will not be updated in a reasonable time.
For performance reasons, JBoss Operations Network servers childs (such as Deployable Units, Resource Adaptors, SBBs and Services in SLEE) are checked for changes every 24 hours.
To force a service discovery, there are two options:
In the JBoss Operations Network web app, right-click the root item (Platform) of the JAIN SLEE Server and select Yes in Detailed Discovery and run the discovery by clicking the button.
→ . SelectIn the JBoss Operations Network agent console, run a full discovery, by issuing the following command:
> discovery -f
In the INVENTORY tab it's possible to Install/Uninstall JAIN SLEE Deployable Units.
In order to install a deployable unit, select DeployableUnits on the Create New: option box and click , the following page will be shown:
Click the
button, a new browser window will be shown to upload the JAIN SLEE Deployable Unit. Click , select the Deployable Unit to be installed, click to confirm and close this browser window.You browser might ask you if you want to resend the information. Please accept it. Google Chrome browser may not support this operation!
Back on the main window for installing the DU, select either to do a persistent deploy (copy file to deploy folder) or not (simply call install
on the DU).
When doing a persistent deployment, further installation actions are automatically performed by the JBoss Communications JAIN SLEE Deployer. If the DU is not deployed in a persistent way (JMX), component installation actions (such as Resource Adaptor entities creation, activation, Service activation) should be performed manually.
To confirm the deployment, click
. The success of the operation should be displayed on the main view.To uninstall a deployable unit, simply check the desired installed deployable unit on the INVENTORY tab and press . A confirmation dialog be displayed. The success of the operation will be shown on the main view.
When undeploying a DU it's automatically detected either if it is to do a Persistent (file is deleted from the deploy folder!) or a non Persistent undeployment, where only the uninstall
command is called on the DU, requiring prior uninstalling actions (eg: remove RA Links and Entities) to have already been performed.
Under the OPERATIONS tab, an operation for Changing the JAIN SLEE container state can be found: Change Slee State.
Clicking on the operation, a new pane opens so the parameters can be selected:
Change Slee State Parameters
start - Changes SLEE State to RUNNING state.
stop - Changes SLEE State to STOPPED state.
shutdown - Completely shutsdown SLEE. Requires to be in STOPPED state.
As any operation on JBoss Operations Network, this operation can be scheduled for a later time, have a defined timeout and/or include additional notes.
Clicking on the Immediately is selected) or schedules the operation. After being executed, it's shown in HISTORY, Completed Operations. Clicking on its name shows the result(s).
executes (ifFor monitoring purposes it is possible to have all JAIN SLEE Activity Contexts listed. This can be done with List all Activity Context operation, in OPERATIONS tab.
This action takes no parameters.
As any operation on JBoss Operations Network, this operation can be scheduled for a later time, have a defined timeout and/or include additional notes.
Clicking on the Immediately is selected) or schedules the operation. After being executed, it's shown in HISTORY, Completed Operations. Clicking on its name shows the result(s).
executes (ifThe result is presented in the following form:
In order to clean dead Activities, it's possible to query Activity Context for their liveness. This can be done using Query Activity Context Liveness operation, in OPERATIONS tab.
This action takes no parameters.
As any operation on JBoss Operations Network, this operation can be scheduled for a later time, have a defined timeout and/or include additional notes.
Clicking on the Immediately is selected) or schedules the operation. After being executed, it's shown in HISTORY, Completed Operations. Clicking on its name shows the result(s).
executes (ifIt is possible to switch the JAIN SLEE container logging configuration for better fitting the needs of the container. This can be done using Change Global Logging Profile operation, in OPERATIONS tab. It can be switched between three levels:
Logging Configuration Levels
DEFAULT: Regular logging, at INFO level, displaying most user-related messages;
DEBUG: More verbose logging, mostly using DEBUG/TRACE level, displaying message of interest for developers;
PRODUCTION: Low verbosity and async logging, mostly in WARN level, for systems in production so that logging does impact performance.
As any operation on JBoss Operations Network, this operation can be scheduled for a later time, have a defined timeout and/or include additional notes.
Clicking on the Immediately is selected) or schedules the operation. After being executed, it's shown in HISTORY, Completed Operations. Clicking on its name shows the result(s).
executes (ifThis changes the whole container logging configuration, so it will affect also logging for other running applications in the container, besides JAIN SLEE.
It is possible to customize the above mentioned logging configurations, or also the currently in use container logging configuration. To perform this action, two operations should be executed:
First, to retrieve the current logging configuration, the Get Logging Profile Configuration operation, in OPERATIONS tab should be used. One of the following options should be selected:
Logging Configuration Levels
CURRENT: will retrieve the logging configuration currently in use by the container (can be a custom one);
DEFAULT: will retrieve the DEFAULT logging configuration;
DEBUG: will retrieve the DEBUG logging configuration;
PRODUCTION: will retrieve the PRODUCTION logging configuration;
After being executed, it's shown in HISTORY, Completed Operations. Clicking on its name shows the result, which is the actual logging configuration.
The result of the operation should be copied into your favourite XML editor and edited as desired.
Currently there's a limitation on 2000 characters for the logging files, so caution should be used not to pass this limit when editing.
When the editing is completed, the Update Logging Profile Configuration operation should be used to update the logging configuration contents.
Select the desired configuration to be updated from the similar list as presented above, and paste the edited contents in the Contents field of the operation.
As any operation on JBoss Operations Network, this operation can be scheduled for a later time, have a defined timeout and/or include additional notes.
Clicking on the Immediately is selected) or schedules the operation. After being executed, it's shown in HISTORY, Completed Operations. Clicking on its name shows the result(s).
executes (ifEditing the DEFAULT, DEBUG or PRODUCTION configurations does not apply them, even if they are currently being used. It only edits the configuration template. To edit the configuration being used, select the CURRENT configuration.
The JBoss Operations Network JAIN SLEE platform enables you to gather statistics on it's Event Router. With the View Event Router Statistics operation, in OPERATIONS tab it's possible to view them in a table form.
The statistics can be filtered by the following levels:
Event Router Statistics Filters
Global: Shows the container global statistics for all executors and event types (eg: container total number of events routed, activities mapped, etc.);
Executors: Shows the statistics per each executor (eg: activities mapped per executor, average routing time per executor, idle time per executor, etc.);
Event Types: Shows the statistics per each event type deployed (eg: average routing time per event type, number of events of that type routed, etc.);
Executors and Event Types: Shows the combined statistics of Executors with Event Types (eg: number of events of certain type router per each executor, average time for routing a certain event type by each executor, total time spent per each executor routing certain event types, etc.);
All: All the above together.
As any operation on JBoss Operations Network, this operation can be scheduled for a later time, have a defined timeout and/or include additional notes.
Clicking on the Immediately is selected) or schedules the operation. After being executed, it's shown in HISTORY, Completed Operations. Clicking on its name shows the result(s).
executes (ifThe JBoss Operations Network JAIN SLEE platform provides congestion control mechanisms to prevent the server to become unresponsive under very high load.
The following parameters are available for configuration and the correspondent set operations (CC-Set<parameter>) can be found under OPERATIONS tab:
Congestion Control Parameters
MinFreeMemoryToTurnOn: The minimum memory (percentage) that should be available to turn on congestion control;
MinFreeMemoryToTurnOff: The minimum memory (percentage) that should be available to turn off congestion control;
PeriodBetweenChecks: The period in seconds to check if congestion control state should change. 0 means congestion control is off;
RefuseStartActivity: Defines if the start of activity should be refused, when congestion control is on;
RefuseFireEvent: Defines if the firing of an event should be refused, when congestion control is on;
As any operation on JBoss Operations Network, these operations can be scheduled for a later time, have a defined timeout and/or include additional notes.
Clicking on the Immediately is selected) or schedules the operation. After being executed, it's shown in HISTORY, Completed Operations. Clicking on its name shows the result(s).
executes (ifIn the top, at the summary section, some details regarding the Deployable Unit can be seen, such as the Type, Parent Component (JSLEE Server) and the date it was deployed on, in Description.
By accessing the MONITOR tab it's possible to see a graph showing the availability of the deployable unit over time.
For a deployable unit, availability refers to whether the DU was or not installed. It only works for deployable units with the same name.
The only operation available for Deployment Units is to view the IDs of the components that it contains, it can be done by executing the List Component IDs operation.
This action takes no parameters.
As any operation on JBoss Operations Network, this operation can be scheduled for a later time, have a defined timeout and/or include additional notes.
Clicking on the Immediately is selected) or schedules the operation. After being executed, it's shown in HISTORY, Completed Operations. Clicking on it shows the result(s).
executes (ifThe result is presented in the following form:
In the top, at the summary section, some details regarding the Resource Adaptor can be seen, such as the Component ID (in Description), the Resource Adaptor Type it implements and its Parent Component (JSLEE Server).
By accessing the MONITOR tab it's possible to see a graph showing the availability of the Resource Adaptor over time.
Under the MONITOR tab it's also possible to view how many Entities from this RA have been active over time.
In the INVENTORY tab it's possible to View, Create and Remove Resource Adaptor Entities.
To create a RA Entity, select ResourceAdaptorEntity on the Create New: option box and click , the following page will be shown:
Fill the Resource Name and Entity Name with the desired new entity name. If desired, provide extra properties for the entity in the Properties table by clicking , which will present the following screen:
After adding the properties, click the
button and the new RA Entity will be created. The success of the operation will be shown in the main view.To remove a RA Entity, check it on the INVENTORY tab and click the on the button. A confirmation dialog be displayed. The success of the operation will be shown in the main view.
Under the CONFIGURATION tab Resource Adaptor properties can be defined, changed and or removed.
In the top, at the summary section, some details regarding the Resource Adaptor Entity can be seen, such as the Resource Adaptor it belongs to (in Description), the current State and its Parent Component (Resource Adaptor).
By default, State property (as other metric values) is updated every 10 minutes. To set it to a shorter value (minimum: 30 seconds) go to SCHEDULES sub-menu under MONITOR tab, check the desired option(s), enter the desired amount of time in the Collection Interval textbox, select the units (seconds, minutes, hours) and click SET.
By accessing the MONITOR tab it's possible to see a graph showing the availability of the Resource Adaptor Entity over time.
Under the MONITOR tab it's also possible to view how many Activities this RA Entity is responsible for, over time.
In the INVENTORY tab it's possible to View, Create and Remove Resource Adaptor Entity Links.
To create a RA Entity Link, select ResourceAdaptorEntityLink on the Create New: option box and click , the following page will be shown:
Fill the Resource Name and Link Name with the desired new entity link name. Click the button and the new RA Entity will be created. The success of the operation will be shown in the main view.
To remove a RA Entity, check it on the INVENTORY tab and click the on the button. A confirmation dialog be displayed. The success of the operation will be shown in the main view.
Figure 3.24. Removing a Resource Adaptor Entity Link with JBoss Operations Network JAIN SLEE Plugin.
Under the CONFIGURATION tab Resource Adaptor Entity properties can be defined, changed and or removed.
Figure 3.25. Configuring a Resource Adaptor Entity with JBoss Operations Network JAIN SLEE Plugin.
In the OPERATIONS tab, an operation to Activate/Deactivate the RA Entity is available, named Change Ra Entity State.
Clicking on the operation, a new pane opens so the parameters can be selected:
Change Ra Entity State Parameters
Activate - Activate the RA Entity.
Deactivate - Deactivate the RA Entity.
As any operation on JBoss Operations Network, this operation can be scheduled for a later time, have a defined timeout and/or include additional notes.
Clicking on the Immediately is selected) or schedules the operation. After being executed, it's shown in HISTORY, Completed Operations. Clicking on it shows the result(s).
executes (ifIt's possible to view the Activity Contexts owned by this RA Entity, with the operation named List Activity Context on the OPERATIONS tab.
This action takes no parameters.
As any operation on JBoss Operations Network, this operation can be scheduled for a later time, have a defined timeout and/or include additional notes.
Clicking on the Immediately is selected) or schedules the operation. After being executed, it's shown in HISTORY, Completed Operations. Clicking on it shows the result(s).
executes (ifThe result is presented in the following form:
In the top, at the summary section, some details regarding the Resource Adaptor Entity Link can be seen, such as the Resource Adaptor Entity it belongs to (in Description).
By accessing the MONITOR tab it's possible to see a graph showing the availability of the Resource Adaptor Entity Link over time.
In the OPERATIONS tab, an operation to list all SBBs bound to a specific link is available, named List bound Sbbs.
This action takes no parameters.
As any operation on JBoss Operations Network, this operation can be scheduled for a later time, have a defined timeout and/or include additional notes.
Clicking on the Immediately is selected) or schedules the operation. After being executed, it's shown in HISTORY, Completed Operations. Clicking on it shows the result(s).
executes (ifThe result is presented in the following form:
In the top, at the summary section, some details regarding the SBB can be seen, such as the Component ID (in Description), the Version, the State Code (UP/DOWN) and its Parent Component (JSLEE Server).
By default, State property (as other metric values) is updated every 10 minutes. To set it to a shorter value (minimum: 30 seconds) go to SCHEDULES sub-menu under MONITOR tab, check the desired option(s), enter the desired amount of time in the Collection Interval textbox, select the units (seconds, minutes, hours) and click SET.
By accessing the MONITOR tab it's possible to see a graph showing the availability of the SBB over time.
In the top, at the summary section, some details regarding the Service can be seen, such as the Component ID (in Description), the Version, the State and its Parent Component (JSLEE Server).
By default, State property (as other metric values) is updated every 10 minutes. To set it to a shorter value (minimum: 30 seconds) go to SCHEDULES sub-menu under MONITOR tab, check the desired option(s), enter the desired amount of time in the Collection Interval textbox, select the units (seconds, minutes, hours) and click SET.
By accessing the MONITOR tab it's possible to see a graph showing the availability of the Service over time.
Under the OPERATIONS tab, an operation for changing the state of the service can be found: Change Service State.
Clicking on the operation, a new pane opens so the parameters can be selected:
Change Service State Parameters
Activate - Activate the Service.
Deactivate - Deactivate the Service.
As any operation on JBoss Operations Network, this operation can be scheduled for a later time, have a defined timeout and/or include additional notes.
Clicking on the Immediately is selected) or schedules the operation. After being executed, it's shown in HISTORY, Completed Operations. Clicking on it shows the result(s).
executes (ifIn the OPERATIONS tab, an operation to list all SBB Entities belonging to a specific service is available, named Retrieve Sbb Entities.
This action takes no parameters.
As any operation on JBoss Operations Network, this operation can be scheduled for a later time, have a defined timeout and/or include additional notes.
Clicking on the Immediately is selected) or schedules the operation. After being executed, it's shown in HISTORY, Completed Operations. Clicking on it shows the result(s).
executes (ifThe result is presented in the following form:
Event Router Executors are the heart of the JAIN SLEE Core, they are responsible for executing critical tasks for the container.
In order to have a better view over the JAIN SLEE container health, a few metrics are made available in this section.
In the SUMMARY tab, some of the metrics for the executors are shown along with the corresponding graphs. Also, latest Out-of-Bound metrics and Alerts are displayed.
By accessing the MONITOR tab it's possible to see a lot of metrics for each executor:
Activities Mapped: Total activities mapped for all the event router executors
Activities Mapped per Minute: Total activities mapped for all the event router executors
Average Event Routing Time: Average time spent to route one event (in ms)
Executed Tasks: Number of tasks executed, which is the sum of the events routed for each EventTypeID, and also the misc tasks executed
Executed Tasks per Minute: Same as above, per minute
Executing Time: Time spent on executing tasks, which is the sum of the time spent routing events for each EventTypeID, and also the time spent executing the misc tasks.
Executing Time per Minute: Same as above, per minute
Idle Time: Total time the executor was idle, i.e., not executing tasks
Idle Time per Minute: Same as above, per minute
Misc Tasks Executed: Number of misc tasks executed
Misc Tasks Executed per Minute: Same as above, per minute
Misc Tasks Executing Time: Time spent executing misc tasks.
Misc Tasks Executing Time per Minute: Same as above, per minute
This metrics can also be seen in a table, in the TABLES sub-menu, in MONITOR tab.
The "... per Minute" metrics are calculated by JBoss Operations Network so, they may not be accurate for container lifetime, ie, they are based on values gathered while JBoss Operations Network agent is running.
It is possible to enable and disable metrics and also set the collection interval by accessing the SCHEDULES sub-menu, in MONITOR tab.
The JBoss Communications Platform is written in Java; therefore, before running any JBoss Communications server, you must have a working Java Runtime Environment (JRE) or Java Development Kit (JDK) installed on your system. In addition, the JRE or JDK you are using to run JBoss Communications must be version 5 or higher[1].
Although you can run JBoss Communications servers using the Java Runtime Environment, we assume that most users are developers interested in developing Java-based, JBoss Communications-driven solutions. Therefore, in this guide we take the tact of showing how to install the full Java Development Kit.
Briefly stated: if you are running on a 64-Bit Linux or Windows platform, you should consider installing and running the 64-bit JDK over the 32-bit one. Here are some heuristics for determining whether you would rather run the 64-bit Java Virtual Machine (JVM) over its 32-bit cousin for your application:
Wider datapath: the pipe between RAM and CPU is doubled, which improves the performance of memory-bound applications when using a 64-bit JVM.
64-bit memory addressing gives virtually unlimited (1 exabyte) heap allocation. However large heaps affect garbage collection.
Applications that run with more than 1.5 GB of RAM (including free space for garbage collection optimization) should utilize the 64-bit JVM.
Applications that run on a 32-bit JVM and do not require more than minimal heap sizes will gain nothing from a 64-bit JVM. Barring memory issues, 64-bit hardware with the same relative clock speed and architecture is not likely to run Java applications faster than their 32-bit cousin.
Note that the following instructions detail how to download and install the 32-bit JDK, although the steps are nearly identical for installing the 64-bit version.
You can download the Sun JDK 5.0 (Java 2 Development Kit) from Sun's website: http://java.sun.com/javase/downloads/index_jdk5.jsp. Click on the Download link next to "JDK 5.0 Update <x>
" (where <x>
is the latest minor version release number). On the next page, select your language and platform (both architecture—whether 32- or 64-bit—and operating system), read and agree to the Java Development Kit 5.0 License Agreement
, and proceed to the download page.
The Sun website will present two download alternatives to you: one is an RPM inside a self-extracting file (for example, jdk-1_5_0_16-linux-i586-rpm.bin
), and the other is merely a self-extracting file (e.g. jdk-1_5_0_16-linux-i586.bin
). If you are installing the JDK on Red Hat Enterprise Linux, Fedora, or another RPM-based Linux system, we suggest that you download the self-extracting file containing the RPM package, which will set up and use the SysV service scripts in addition to installing the JDK. We also suggest installing the self-extracting RPM file if you will be running JBoss Communications in a production environment.
The following procedures detail how to install the Java Development Kit on both Linux and Windows.
Procedure A.1. Installing the JDK on Linux
Regardless of which file you downloaded, you can install it on Linux by simply making sure the file is executable and then running it:
~]$ chmod +x "jdk-1_5_0_<minor_version>-linux-<architecture>-rpm.bin" ~]$ ./"jdk-1_5_0_<minor_version>-linux-<architecture>-rpm.bin"
If you download the non-RPM self-extracting file (and installed it), and you are running on an RPM-based system, you can still set up the SysV service scripts by downloading and installing one of the -compat
packages from the JPackage project. Remember to download the -compat
package which corresponds correctly to the minor release number of the JDK you installed. The compat packages are available from ftp://jpackage.hmdc.harvard.edu/JPackage/1.7/generic/RPMS.non-free/.
You do not need to install a -compat
package in addition to the JDK if you installed the self-extracting RPM file! The -compat
package merely performs the same SysV service script set up that the RPM version of the JDK installer does.
Procedure A.2. Installing the JDK on Windows
Using Explorer, simply double-click the downloaded self-extracting installer and follow the instructions to install the JDK.
Configuring your system for the JDK consists in two tasks: setting the JAVA_HOME
environment variable, and ensuring that the system is using the proper JDK (or JRE) using the alternatives
command. Setting JAVA_HOME
usually overrides the values for java
, javac
and java_sdk_1.5.0
in alternatives
, but we will set them all just to be safe and consistent.
JAVA_HOME
Environment Variable on Generic Linux
After installing the JDK, you must ensure that the JAVA_HOME
environment variable exists and points to the location of your JDK installation.
JAVA_HOME
Environment Variable on Linux
You can determine whether JAVA_HOME
is set on your system by echo
ing it on the command line:
~]$ echo $JAVA_HOME
If JAVA_HOME
is not set already, then you must set its value to the location of the JDK installation on your system. You can do this by adding two lines to your personal ~/.bashrc
configuration file. Open ~/.bashrc
(or create it if it doesn't exist) and add a line similar to the following one anywhere inside the file:
export JAVA_HOME="/usr/lib/jvm/jdk1.5.0_<version>"
You should also set this environment variable for any other users who will be running JBoss Communications (any environment variables export
ed from ~/.bashrc
files are local to that user).
java
, javac
and java_sdk_1.5.0
Using the alternatives
command alternatives
On systems with the alternatives
command, including Red Hat Enterprise Linux and Fedora, you can easily choose which JDK (or JRE) installation you wish to use, as well as which java
and javac
executables should be run when called.
As the root user, call /usr/sbin/alternatives
with the --config java
option to select between JDKs and JREs installed on your system:
root@localhost ~]$ /usr/sbin/alternatives --config java There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- 1 /usr/lib/jvm/jre-1.5.0-gcj/bin/java 2 /usr/lib/jvm/jre-1.6.0-sun/bin/java *+ 3 /usr/lib/jvm/jre-1.5.0-sun/bin/java Enter to keep the current selection[+], or type selection number:
In our case, we want to use the Sun JDK, version 5, that we downloaded and installed, to run the java
executable. In the alternatives
information printout above, a plus (+
) next to a number indicates the one currently being used. As per alternatives
' instructions, pressing Enter will simply keep the current JVM, or you can enter the number corresponding to the JVM you would prefer to use.
Repeat the procedure above for the javac
command and the java_sdk_1.5.0
environment variable, as the root user:
~]$ /usr/sbin/alternatives --config javac
~]$ /usr/sbin/alternatives --config java_sdk_1.5.0
JAVA_HOME
Environment Variable on WindowsFor information on how to set environment variables in Windows, refer to http://support.microsoft.com/kb/931715.
Finally, to make sure that you are using the correct JDK or Java version (5 or higher), and that the java executable is in your PATH
, run the java
command in the terminal from your home directory:
-version
~]$ java -version java version "1.5.0_16" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b03) Java HotSpot(TM) Client VM (build 1.5.0_16-b03, mixed mode, sharing)
There is usually no reason (other than space concerns) to remove a particular JDK from your system, given that you can switch between JDKs and JREs easily using alternatives
, and/or by setting JAVA_HOME
.
On RPM-based systems, you can uninstall the JDK using the yum
command.
remove <jdk_rpm_name>
On Windows systems, check the JDK entry in the Start
menu for an uninstall command, or use Add/Remove Programs
.
[1] At this point in time, it is possible to run most JBoss Communications servers, such as the JAIN SLEE, using a Java 6 JRE or JDK. Be aware, however, that presently the XML Document Management Server does not run on Java 6. We suggest checking the JBoss Communications web site, forums or discussion pages if you need to inquire about the status of running the XML Document Management Server with Java 6.
The JBoss Communications Platform (JBoss Communications) is built on top of the JBoss Enterprise Application Platform. You do not need to set the JBOSS_HOME
environment variable to run any of the JBoss Communications Platform servers unless JBOSS_HOME
is already set.
The best way to know for sure whether JBOSS_HOME
was set previously or not is to perform a simple check which may save you time and frustration.
At the command line, echo
$JBOSS_HOME
to see if it is currently defined in your environment:
~]$ echo $JBOSS_HOME
The JBoss Communications Platform and most JBoss Communications servers are built on top of the JBoss Enterprise Application Platform (JBoss Enterprise Application Platform). When the JBoss Communications Platform or JBoss Communications servers are built from source, then JBOSS_HOME
must be set, because the JBoss Communications files are installed into (or “over top of” if you prefer) a clean JBoss Enterprise Application Platform installation, and the build process assumes that the location pointed to by the JBOSS_HOME
environment variable at the time of building is the JBoss Enterprise Application Platform installation into which you want it to install the JBoss Communications files.
This guide does not detail building the JBoss Communications Platform or any JBoss Communications servers from source. It is nevertheless useful to understand the role played by JBoss AS and JBOSS_HOME
in the JBoss Communications ecosystem.
The immediately-following section considers whether you need to set JBOSS_HOME
at all and, if so, when. The subsequent sections detail how to set JBOSS_HOME
on Unix and Windows
Even if you fall into the category below of not needing to set JBOSS_HOME
, you may want to for various reasons anyway. Also, even if you are instructed that you do not need to set JBOSS_HOME
, it is good practice nonetheless to check and make sure that JBOSS_HOME
actually isn't set or defined on your system for some reason. This can save you both time and frustration.
JBOSS_HOME
if......you have installed the JBoss Communications Platform binary distribution.
...you have installed a JBoss Communications server binary distribution which bundles JBoss Enterprise Application Platform.
JBOSS_HOME
if......you are installing the JBoss Communications Platform or any of the JBoss Communications servers from source.
...you are installing the JBoss Communications Platform binary distribution, or one of the JBoss Communications server binary distributions, which do not bundle JBoss Enterprise Application Platform.
Naturally, if you installed the JBoss Communications Platform or one of the JBoss Communications server binary releases which do not bundle JBoss Enterprise Application Platform, yet requires it to run, then you should install before setting JBOSS_HOME
or proceeding with anything else.
The JBOSS_HOME
environment variable must point to the directory which contains all of the files for the JBoss Communications Platform or individual JBoss Communications server that you installed. As another hint, this topmost directory contains a bin
subdirectory.
Setting JBOSS_HOME
in your personal ~/.bashrc
startup script carries the advantage of retaining effect over reboots. Each time you log in, the environment variable is sure to be set for you, as a user. On Unix, it is possible to set JBOSS_HOME
as a system-wide environment variable, by defining it in /etc/bashrc
, but this method is neither recommended nor detailed in these instructions.
Procedure B.1. To Set JBOSS_HOME on Unix...
Open the ~/.bashrc
startup script, which is a hidden file in your home directory, in a text editor, and insert the following line on its own line while substituting for the actual install location on your system:
export JBOSS_HOME="/home/<username>/<path>/<to>/<install_directory>"
Save and close the .bashrc
startup script.
You should source
the .bashrc
script to force your change to take effect, so that JBOSS_HOME
becomes set for the current session[2].
~]$ source ~/.bashrc
Finally, ensure that JBOSS_HOME
is set in the current session, and actually points to the correct location:
The command line usage below is based upon a binary installation of the JBoss Communications Platform. In this sample output, JBOSS_HOME
has been set correctly to the topmost_directory
of the JBoss Communications installation. Note that if you are installing one of the standalone JBoss Communications servers (with JBoss AS bundled!), then JBOSS_HOME
would point to the topmost_directory
of your server installation.
~]$ echo $JBOSS_HOME /home/silas/
The JBOSS_HOME
environment variable must point to the directory which contains all of the files for the JBoss Communications Platform or individual JBoss Communications server that you installed. As another hint, this topmost directory contains a bin
subdirectory.
For information on how to set environment variables in recent versions of Windows, refer to http://support.microsoft.com/kb/931715.
[2]
Note that any other terminals which were opened prior to your having altered .bashrc
will need to source
~/.bashrc
as well should they require access to JBOSS_HOME
.
Revision History | |||
---|---|---|---|
Revision 1.0 | Thu Dec 31 2009 | ||
|