Version: 17.07
UltraESB-X requires Oracle Java Runtime Environment version 8 or a higher. You can download the suitable Oracle JRE distribution for your operating system from Java downloads page. You can follow the instructions provided on the downloads page to install Java in your system.
Download either the full or minimal UltraESB-X distribution based on your requirements and extract the bundle to a
file system location of your choice. We will refer this location as $ULTRA_HOME
in the rest of this installation
guide.
server.xml
The $ULTRA_HOME/conf/server.xml
file is the main configuration file of UltraESB-X which contains the configurations of
the core framework entities such as Integration Platform and Environment.
The Scale-First Executor Service is the main worker thread pool executor service of UltraESB-X. It can be configured as below.
<bean class="org.adroitlogic.x.core.exec.ScaleFirstExecutorService">
<constructor-arg name="name" value="platform"/>
<constructor-arg name="coreSize" value="20"/>
<constructor-arg name="maxSize" value="100"/>
<constructor-arg name="keepAliveTime" value="5"/>
<constructor-arg name="timeUnit" value="SECONDS"/>
</bean>
|
A unique name for the executor service. In a case where more than one Scale-First executor service in use, this name can be used to distinguish each executor service in metrics, etc. |
|
The minimum number of workers to keep alive in the thread pool (without allowing to time out, etc). |
|
The maximum number of workers to allowed in the thread pool. |
|
Timeout for idle threads to wait for work when there are more than |
|
Time unit to be used for the |
The In-memory Integration Flow Tracer is used to trace messages going through the Integration Flows. This is intended to be used only for development and testing purposes and should never be used in a Production Environment. Using Integration Flow tracer in a Production Environment can significantly degrade the performance and stability.
<bean id="integrationFlowTracer"
class="org.adroitlogic.x.core.InMemoryIntegrationFlowTracer">
<property name="tracingEnabled" value="true"/>
<property name="maxPayloadSizeKbs" value="100"/>
</bean>
|
Whether to enable tracing for this Integration Flow Tracer. Set |
|
The maximum size in kilo bytes, up to which limit the payloads of the messages should be traced. |
The Integration Platform is the messaging engine of UltraESB-X. It can be configured as below.
<bean class="org.adroitlogic.x.core.IntegrationPlatform">
<property name="executorService">
<bean class="org.adroitlogic.x.core.exec.ScaleFirstExecutorService">
...
</bean>
</property>
<property name="scheduledThreadPool">
<bean class="java.util.concurrent.ScheduledThreadPoolExecutor">
<constructor-arg value="10"/>
</bean>
</property>
<property name="globalResponseTimeout" value="5000"/>
<property name="globalEgressTimeout" value="5000"/>
<property name="integrationFlowTracer" ref="integrationFlowTracer"/>
</bean>
|
The executor service to be used as the main worker thread pool of UltraESB-X. The Scale-First Executor service configured before can be used for this. |
|
The instance of |
|
The global value in milliseconds, after which the message contexts originated from IN-OUT type Ingress connectors should
expire. If a |
|
The global timeout value in milliseconds, upto which the OUT-IN type Egress connectors wait for an egress response. If
an |
|
The instance of In-memory Integration Flow Tracer to be used for message tracing. Such an Integration Flow Tracer should never be used in a Production environment. |
The Environment properties of UltraESB-X can be configured as below.
<bean id="environment" class="org.adroitlogic.x.core.Environment">
<constructor-arg name="nodeName" value="localhost"/>
<property name="mode" value="TEST"/>
<property name="projectBaseDir" value="projects"/>
<property name="tmpDir" value="tmp"/>
</bean>
|
A unique name to identify this instance of UltraESB-X from other instances in a clustered deployment, in metrics reporting and etc. |
||
|
The environment mode of this UltraESB-X instance. Depending on the use of this UltraESB-X instance, this property can
have one of the following values of
|
||
|
The base directory to be used for Ultra Project deployments (location where the |
||
|
A directory to be used as the temporary file location by UltraESB-X for tasks such as extracting the project archives. |
In UltraESB-X full distribution, the metrics, management server and clustering can be enabled/disabled by adding the
following Spring import statements respectively to the server.xml
file.
<import resource="metrics/metrics.xml"/>
<import resource="management/management.xml"/>
<import resource="cluster/cluster.xml"/>
Please refer Project-X documentation for detailed configuration guides for these aspects.
The UltraESB-X distribution comes with a limited-time evaluation license key included, which can be found in the
$ULTRA_HOME/conf/license/license.key.properties
file. Also you will need to have a client key in the file
$ULTRA_HOME/conf/license/client.key.properties
file which will be either included in the bundle or sent to you by
email when the distribution bundle is downloaded.
And there is also another configuration file $ULTRA_HOME/conf/license/license.conf.properties
which contains a few
configuration parameters related to licensing such as URL of the remote license server and the number of days before
which UltraESB-X should issue warnings regarding license expiration.
Once all 3 of these files are present, you can start the UltraESB-X instance. At the first time it starts, it will
automatically connect to the remote license server and retrieve the license details related to your license key. As
these details will be saved in a file named $ULTRA_HOME/conf/license/license.properties
, it should be ensured that
the UltraESB-X process has write permissions to the $ULTRA_HOME/conf/license/
directory.
If you receive a new license key from Adroitlogic for Production use etc., you can apply it by the following steps.
Open license.key.properties
file and replace the existing license key with the new key
If you receive a new client key as well, open client.key.properties
file and replace the existing client key with the
new key
If there is a license.properties
file already present, remove it
Restart UltraESB-X
After the above configurations are done, your UltraESB-X instance is all set to be run. First navigate to the
$ULTRA_HOME/bin
directory, open the ultraesbx.sh
file and set the following properties.
# Name of the user to run as
USER=adrt
# Location of the UltraESB installation
ULTRA_HOME=/opt/ultraesbx
# Location of Java JDK/JRE with the unlimited strength policy files applied - where required.
export JAVA_HOME=/opt/jdk
Further the $ULTRA_HOME/conf/wrapper.conf
file can be used to alter/set other runtime configurations such as VM
options. Then UltraESB-X can be started/stopped as follows.
$ sh ultraesbx.sh start
Starting ultraesb
$ sh ultraesbx.sh status
AdroitLogic - UltraESB is running (2124).
$ sh ultraesbx.sh stop
Stopping ultraesb
ultraesb stopped successfully
$ sh ultraesbx.sh status
AdroitLogic - UltraESB is not running.