Running UltraESB

This section describes the various options available for running your UltraESB instance, which you have installed by following the Installation Guide.

UltraESB is shipped with a default server configuration (which could be found at conf/ultra-root.xml) and a deployment unit named "default", which could be found at conf/deployments directory of the UltraESB installation.

While the ultra-root.xml provides the more static server configurations like transports, management/monitoring, clustering, caching etc. the deployment units provide the dynamic service and mediation configurations. While it is possible to have proxy services and mediation configuration also in the ultra-root.xml (which is the approach taken in sample configurations to make it easily runnable and switchable between samples), keeping those dynamic elements only at the deployment units is vital in supporting the graceful configuration updates and configuration provisioning, which you will see how to effectively do in the Configuration and Administration section of the documentation.

Default Configuration
The default configuration is configured to start the HTTP/S transport listeners (8280/8443) and the default deployment unit exposes 2 sample proxy services named echo-proxy, a proxy service, which proxies the sample echo service running at port 9000 and echo-back, a mock service which echo the request itself as the response from the ESB.

There are 3 different ways in running the UltraESB standalone server;

Running UltraESB within the IDE will be discussed in-detail under the User Guide, and this sections introduces to the first and third options in running the UltraESB.

After you have completed the steps to download UltraESB 2.6.1 from the downloads page you will have received an e-mail with download links. There you will have a link to download the client key for you. First you have to place that client.key.properties file in the conf/license directory.

Webapp Deployment
UltraESB also supports webapp deployment, apart from the standalone UltraESB server, which is covered under the Deployment Guide section of the documentation.

Running UltraESB with start-up script

This is the more common way of running the UltraESB at development phase, and it directly starts the server with the default configuration and any available deployment units.

For starting the UltraESB with the default configuration, on Linux based systems, use a command line shell to navigate to the ULTRA_HOME/bin directory and execute the ultraesb.sh script.

$ cd /opt/ultraesb-2.6.1/bin
$ ./ultraesb.sh

For starting the UltraESB with default configuration on Windows based systems, navigate to the ULTRA_HOME/bin directory using the file browser and double click on the ultraesb.bat script.

Upon firing the above command to execute the ultraesb.sh or by double clicking on the ultraesb.bat script, the following output will be displayed on the console.

Reading configuration from : /home/rajind/builds/ultraesb-2.6-sample/conf/ | Current directory is : /home/rajind/builds/ultraesb-2.6-sample/.
2016-08-15T14:31:57,756 [-] [main] [system] [000000I]  INFO ServerManager ServerManager initializing..
2016-08-15T14:31:57,842 [-] [main] [system] [000000I]  INFO UltraServer UltraESB JAR file version/s : [2.6.1]
2016-08-15T14:31:57,888 [-] [main] [system] [000000I]  INFO UltraServer BouncyCastle set as the preferred security provider..
2016-08-15T14:31:57,979 [-] [main] [system] [000000I]  INFO UltraServer JCE unlimited strength jurisdiction policy files are installed
2016-08-15T14:31:57,980 [-] [main] [system] [000000I]  INFO CustomStreamHandlerFactory CustomStreamHandlerFactory initializing..
2016-08-15T14:31:58,054 [-] [main] [] []  WARN LicenseClient Failed to find a license file locally
2016-08-15T14:31:59,121 [-] [main] [] []  INFO LicenseClient License validation successful
2016-08-15T14:31:59,121 [-] [main] [system] [000000I]  INFO LicenseManager Licensed to :adroitlogic
2016-08-15T14:31:59,665 [-] [main] [system] [000000I]  INFO PooledMessageFileCache Directory : /home/rajind/builds/ultraesb-2.6-sample/tmp/rajind_localhost locked for file cache
2016-08-15T14:31:59,914 [-] [main] [system] [000000I]  INFO ConfigurationImpl Starting AdroitLogic (http://www.adroitlogic.org) - UltraESB/2.6.1 (GA) - localhost
2016-08-15T14:31:59,914 [-] [main] [system] [000000I]  INFO ConfigurationImpl *****************************************************************************
2016-08-15T14:31:59,914 [-] [main] [system] [000000I]  INFO ConfigurationImpl ***  Copyright (C) 2010-2016 AdroitLogic Private Ltd. All Rights Reserved ***
2016-08-15T14:31:59,914 [-] [main] [system] [000000I]  INFO ConfigurationImpl ***                                                                       ***
2016-08-15T14:31:59,914 [-] [main] [system] [000000I]  INFO ConfigurationImpl ***                    UltraESB Evaluation License                        ***
2016-08-15T14:31:59,914 [-] [main] [system] [000000I]  INFO ConfigurationImpl ***                      http://adroitlogic.org                           ***
2016-08-15T14:31:59,914 [-] [main] [system] [000000I]  INFO ConfigurationImpl *****************************************************************************
2016-08-15T14:32:00,779 [-] [main] [system] [000000I]  INFO ConfigurationImpl Pre-initialization of the engine..
2016-08-15T14:32:01,069 [-] [main] [system] [000000I]  INFO MediationImpl Initializing the Mediation feature
2016-08-15T14:32:01,252 [-] [main] [system] [000000I]  INFO TransformationUtils Initializing Transformation feature
2016-08-15T14:32:01,278 [-] [main] [system] [000000I]  INFO JSONUtils Initializing the JSON feature
2016-08-15T14:32:01,281 [-] [main] [system] [000000I]  INFO XMLFeatures Initializing the XML feature
2016-08-15T14:32:01,339 [-] [main] [system] [000000I]  INFO FastInfosetUtils Initializing the Fast-Infoset feature
2016-08-15T14:32:01,351 [-] [main] [system] [000000I]  INFO CryptoSupport Initializing the Security and Crypto features
2016-08-15T14:32:01,409 [-] [main] [system] [000000I]  INFO ServerManager Starting server ...
2016-08-15T14:32:01,410 [-] [main] [system] [000000I]  INFO ServerManager Linux - amd64 [4.4.0-34-generic] / Processors : 8
2016-08-15T14:32:01,411 [-] [main] [system] [000000I]  INFO ServerManager Total physical memory : 16,298,260K (8,126,956K free)  Heap max : 1,005,568K
2016-08-15T14:32:01,411 [-] [main] [system] [000000I]  INFO ServerManager Java HotSpot(TM) 64-Bit Server VM, Oracle Corporation [24.80-b11]
2016-08-15T14:32:01,412 [-] [main] [system] [000000I]  INFO ServerManager Instance available for management via JMX at : service:jmx:rmi://localhost:9994/jndi/rmi://localhost:1099/ultra
2016-08-15T14:32:01,422 [-] [main] [system] [000000I]  INFO ServerManager Clustering is disabled
2016-08-15T14:32:01,428 [-] [main] [system] [000000I]  INFO fileCache Initialized cache of : 0 files at : /home/rajind/builds/ultraesb-2.6-sample/tmp/rajind_localhost
2016-08-15T14:32:01,431 [-] [main] [system] [000000I]  INFO SimpleQueueWorkManager Started Work Manager : default
2016-08-15T14:32:01,431 [-] [main] [system] [000000I]  INFO ServerManager Starting Proxy Services, Endpoints and Sequences
2016-08-15T14:32:01,432 [-] [main] [system] [000000I]  INFO DeploymentUnit Starting deployment unit : system
2016-08-15T14:32:01,432 [-] [main] [system] [000000I]  INFO DeploymentUnit Starting transport senders..
2016-08-15T14:32:01,432 [-] [main] [system] [000000I]  INFO HttpsNIOSender Https transport sender : https-sender using default identity keystore
2016-08-15T14:32:01,432 [-] [main] [system] [000000I]  INFO HttpsNIOSender Https transport sender : https-sender using the default trust keystore
2016-08-15T14:32:01,534 [-] [HttpsNIOSender-https-sender] [system] [000000I]  INFO HttpsNIOSender Starting NIO Sender : https-sender ...
2016-08-15T14:32:01,535 [-] [main] [system] [000000I]  INFO DeploymentUnit Initializing transport listeners..
2016-08-15T14:32:01,535 [-] [HttpNIOSender-http-sender] [system] [000000I]  INFO HttpNIOSender Starting NIO Sender : http-sender ...
2016-08-15T14:32:01,549 [-] [main] [system] [000000I]  INFO Address Started Address : address of endpoint : echo-service
2016-08-15T14:32:01,549 [-] [main] [system] [000000I]  INFO echo-service Endpoint : echo-service started
2016-08-15T14:32:01,552 [-] [main] [system] [000000I]  INFO Address Started Address : address of endpoint : mediation.response
2016-08-15T14:32:01,552 [-] [main] [system] [000000I]  INFO Endpoint Endpoint : mediation.response started
2016-08-15T14:32:02,018 [-] [main] [system] [000000I]  INFO error-handler Sequence : error-handler started
2016-08-15T14:32:02,080 [-] [main] [system] [000000I]  INFO health-check-inSequence Sequence : health-check-inSequence started
2016-08-15T14:32:02,081 [-] [main] [system] [000000I]  INFO health-check Proxy service : health-check started
2016-08-15T14:32:02,081 [-] [main] [system] [000000I]  INFO ServerManager UltraESB root deployment unit started successfully
2016-08-15T14:32:02,083 [-] [main] [system] [000000I]  INFO DeploymentUnitBuilder Using the hot-swap class loading of libraries/classes for deployment unit default
2016-08-15T14:32:02,140 [-] [main] [system] [000000I]  INFO DeploymentUnitBuilder Successfully created the deployment unit : default
2016-08-15T14:32:02,140 [-] [main] [system] [000000I]  INFO DeploymentUnit Starting deployment unit : Default
2016-08-15T14:32:02,140 [-] [main] [system] [000000I]  INFO DeploymentUnit Starting transport senders..
2016-08-15T14:32:02,142 [-] [main] [system] [000000I]  INFO DeploymentUnit Initializing transport listeners..
2016-08-15T14:32:02,142 [-] [HttpNIOSender-http-sender-du] [system] [000000I]  INFO HttpNIOSender Starting NIO Sender : http-sender-du ...
2016-08-15T14:32:02,209 [-] [main] [system] [000000I]  INFO echo-back-inSequence Sequence : echo-back-inSequence started
2016-08-15T14:32:02,209 [-] [main] [system] [000000I]  INFO echo-back Proxy service : echo-back started
2016-08-15T14:32:02,254 [-] [main] [system] [000000I]  INFO echo-proxy-outSequence Sequence : echo-proxy-outSequence started
2016-08-15T14:32:02,257 [-] [main] [system] [000000I]  INFO Address Started Address : address of endpoint : echo-proxy-inDestination
2016-08-15T14:32:02,257 [-] [main] [system] [000000I]  INFO echo-proxy-inDestination Endpoint : echo-proxy-inDestination started
2016-08-15T14:32:02,259 [-] [main] [system] [000000I]  INFO Address Started Address : address of endpoint : echo-proxy-outDestination
2016-08-15T14:32:02,259 [-] [main] [system] [000000I]  INFO echo-proxy-outDestination Endpoint : echo-proxy-outDestination started
2016-08-15T14:32:02,259 [-] [main] [system] [000000I]  INFO echo-proxy Proxy service : echo-proxy started
2016-08-15T14:32:02,259 [-] [main] [system] [000000I]  INFO ConfigurationImpl Successfully added the deployment unit : default
2016-08-15T14:32:02,260 [-] [main] [system] [000000I]  INFO DeploymentUnit Starting transport listeners of : system
2016-08-15T14:32:02,273 [-] [HttpNIOListener-http-8280] [system] [000000I]  INFO HttpNIOListener Starting NIO Listener : http-8280 on port : 8280 ...
2016-08-15T14:32:02,277 [-] [main] [system] [000000I]  INFO HttpsNIOListener Identity keystore loaded from : conf/keys/identity.jks
2016-08-15T14:32:02,339 [-] [main] [system] [000000I]  INFO HttpsNIOListener Trust keystore loaded from : conf/keys/trust.jks
2016-08-15T14:32:02,340 [-] [main] [system] [000000I]  INFO DeploymentUnit Starting transport listeners of : Default
2016-08-15T14:32:02,340 [-] [main] [system] [000000I]  INFO ConfigurationImpl UltraESB/2.6.1 (GA) - Server localhost started..
2016-08-15T14:32:02,340 [-] [HttpNIOListener-http-8282] [system] [000000I]  INFO HttpNIOListener Starting NIO Listener : http-8282 on port : 8282 ...
2016-08-15T14:32:02,342 [-] [HttpsNIOListener-https-8443] [system] [000000I]  INFO HttpsNIOListener Starting NIO Listener : https-8443 on port : 8443 ...

Stopping the just started server is a matter of terminating the program by pressing Ctrl+C on the command line.

client.key.properties file must be placed in conf/license directory
Please note that you will get an output as shown below if you haven’t placed the client.key.properties file properly in conf/license directory.
Reading configuration from : /home/rajind/builds/ultraesb-2.6-sample/conf/ | Current directory is : /home/rajind/builds/ultraesb-2.6-sample/.
2016-08-15T14:33:18,313 [-] [main] [system] [000000I]  INFO ServerManager ServerManager initializing..
2016-08-15T14:33:18,400 [-] [main] [system] [000000I]  INFO UltraServer UltraESB JAR file version/s : [2.6.1]
2016-08-15T14:33:18,447 [-] [main] [system] [000000I]  INFO UltraServer BouncyCastle set as the preferred security provider..
2016-08-15T14:33:18,543 [-] [main] [system] [000000I]  INFO UltraServer JCE unlimited strength jurisdiction policy files are installed
2016-08-15T14:33:18,544 [-] [main] [system] [000000I]  INFO CustomStreamHandlerFactory CustomStreamHandlerFactory initializing..
2016-08-15T14:33:18,620 [-] [main] [] []  WARN LicenseClient Failed to find a license file locally
2016-08-15T14:33:18,620 [-] [main] [] [] ERROR LicenseClient Failed to find a client key
2016-08-15T14:33:18,621 [-] [main] [system] [300000E] ERROR LicenseManager Unable to validate license at :/home/rajind/builds/ultraesb-2.6-sample/conf/license
java.lang.Exception: Failed to find a client key.
	at org.adroitlogic.client.LicenseClient.getClientKey(LicenseClient.java:139) ~[license-client-1.0-SNAPSHOT.jar:?]
	at org.adroitlogic.client.LicenseClient.getLicense(LicenseClient.java:88) ~[license-client-1.0-SNAPSHOT.jar:?]
	at org.adroitlogic.client.LicenseClient.getAndValidateLicense(LicenseClient.java:65) ~[license-client-1.0-SNAPSHOT.jar:?]
	at org.adroitlogic.ultraesb.LicenseManager.validate(LicenseManager.java:165) ~[ultraesb-core-2.6.1.jar:2.6.1]
	at org.adroitlogic.ultraesb.UltraServer.<init>(UltraServer.java:287) ~[ultraesb-core-2.6.1.jar:2.6.1]
	at org.adroitlogic.ultraesb.UltraServer.main(UltraServer.java:230) ~[ultraesb-core-2.6.1.jar:2.6.1]
Caused by: java.io.FileNotFoundException: /home/rajind/builds/ultraesb-2.6-sample/conf/license/client.key.properties (No such file or directory)
	at java.io.FileInputStream.open(Native Method) ~[?:1.7.0_80]
	at java.io.FileInputStream.<init>(FileInputStream.java:146) ~[?:1.7.0_80]
	at java.io.FileInputStream.<init>(FileInputStream.java:101) ~[?:1.7.0_80]
	at org.adroitlogic.client.LicenseClient.getClientKey(LicenseClient.java:134) ~[license-client-1.0-SNAPSHOT.jar:?]
	... 5 more
If you are keep on getting a similar issue after correctly placing the client.key.properties file, try deleting the file named license.properties in conf/license directory

While this approach is more common in starting/stopping ESB in development mode which will report any errors on the console for easy resolution, almost all of the production deployments prefer starting the UltraESB as a daemon on Linux with Java Service Wrapper.

Running UltraESB in production

In production you might want the server to run as a UNIX daemon and you also want to guarantee the availability (i.e. if the server crashes an instance will automatically be started) and so forth. UltraESB uses Java Service Wrapper to run the server as a UNIX daemon.

Note
Production deployments are only supported on Linux and hence the Java Service Wrapper is also configured only to run on Linux as a daemon and running the server on Windows as a service in production is not recommended.

Starting the server as a daemon is exposed with the ultraesb-daemon.sh. Execute the daemon script to see the command usages as follows;

$ ./ultraesb-daemon.sh

The usage of the daemon script will be displayed as follows;

Usage: ./ultraesb-daemon.sh \{ console | start | stop | restart | status | dump }

These options and there respective usage are as follows;

  • console - start the server on console, mostly equal to the previous start-up mode

  • start - starts the server as a daemon

  • stop - stop the server started as a daemon

  • restart - restart the server started as a daemon

  • status - check status of the server started as a daemon

  • dump - dump the JVM state with a thread dump to the wrapper log

For example to start the UltraESB instance use the following command

$ ./ultraesb-daemon.sh start

Then to stop the started server instance you can use

$ ./ultraesb-daemon.sh stop

Once the UltraESB is started and running, you could use AdroitLogic Integration Monitor (IMonitor) which executes as an independent Web Application or the management terminal (Uterm) to manage/monitor the instance. The usage of Uterm will be covered in detail under relevant section and usage of IMonitor is covered separately.

AdroitLogic Integration Monitor - IMonitor
AdroitLogic Integration Monitor executes as an independent Web Application, and allows the easy management of a single UltraESB instance or a cluster of instances. Let it be a single instance or a cluster of ESB nodes, IMonitor delivers business level statistics and monitoring at the best. Apart from the operational statistics, IMonitor is capable of presenting friendly troubleshooting & diagnostics capabilities. It’s your step towards improved organisational efficiency saving hours of developer time. Note that IMonitor comes as a replacement for UConsole which was there in previous UltraESB releases and is covered separately in AdroitLogic - Integration Monitor User Guide

For advance options available for start-up commands please refer to the Configuration and Administration.

Technical Questions ?
You can log your technical questions at Stack Overflow
1. Login to Stack Overflow
2. Navigate to How to Ask page.
3. Search to see if a question relevant to your own has been asked.
4. If your search turned up nothing helpful or if it didn’t quite answer your question, we then suggest you ask a question yourself. Click on Proceed to navigate to Ask Question page.
5. Provide a descriptive title and describe the nature of your question. Please make sure to use the tag ultraesb when asking your question.

In this topic
In this topic
Contact Us