This post will cover deploying a Talend ESB RESTful service as a OSGI Bundle for ESB in Talend runtime environment on Ubuntu server.
sudo apt-get install openjdk-7-jdk
Environment variable JAVA_HOME must be set because Talend Runtime will first look out for Java installation.
Execute below command to find out alternative Java path.
sudo update-alternatives --config java
Select path of preferred installation and update environment file by adding below code.
sudo vi /etc/environment JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"
Reload file and Test
source /etc/environment echo $JAVA_HOME
I am using FileZilla to send Runtime_ESBSE to Ubuntu server after compressing it, but server directory must have required permission to copy Runtime_ESBSE.zip file.
Use chmod to give sufficient permissions.
sudo chmod 777 -R etl
Install unzip to extract Runtime_ESBSE on server.
sudo apt-get update sudo apt-get install unzip unzip Runtime_ESBSE.zip rm Runtime_ESBSE.zip
Execute trun command to launch Runtime environment.
cd Runtime_ESBSE/container/bin ./trun
On Runtime container use list command to check status of your service.
we can also verify by hitting API endpoint using CURL
curl -i -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8088/talend/valid
Now we are able to deploy ESB job as service in Talend Runtime container using apache karaf but to make it run as a operating system service we must install Karaf Wrapper feature.
Installing the wrapper
- Browse to the container/bin folder of the Talend Runtime installation directory, then launch the container by executing the trun file as a root user
- To install the wrapper feature, simply type:
karaf@trun()> feature:install wrapper
Once installed, wrapper feature will provide
wrapper:installnew command in the trun, which allows you to install Talend Runtime as a service.
- To register the container as a service in automatic start mode, simply type:
karaf@trun()> wrapper:install -s AUTO_START -n talend -d Talend -D "Talend ESB Runtime Service"
To install the service:
$ ln -s /dev/etl/talend/Runtime_ESBSE/container/bin/talend-service /etc/init.d/
To start the service when the machine is rebooted:
$ update-rc.d talend-service defaults
To disable starting the service when the machine is rebooted:
$ update-rc.d -f talend-service remove
To start the service:
$ /etc/init.d/talend-service start
To stop the service:
$ /etc/init.d/talend-service stop
To uninstall the service :
$ rm /etc/init.d/talend-service