Skip to main content

Running a Route built as a Spring Boot Microservice (deprecated)

Availability-noteDeprecated

This section will show you how to run a Route that is built as a Spring Boot based Microservice.

To run a Route that is exported as a .jar file, proceed as follows in a console window:

  1. Change to the directory where the Microservice .jar file is located.

  2. Type in the following command. For more information about the Spring Boot properties, see the documentation. Note that not all of the properties listed on the web page are applicable to the ESB Microservice. It depends primarily on the features that are included by Talend and also the Routes you build.

    java -jar <ArchiveFileName> --<SpringBootProperty>

    For example, the following command executes a Microservice named demoRoute.0.1.jar using an environment property that is configured in the file Prod, where Prod is also the Talend context name. This parameter needs to be specified to switch between context properties.

    java -jar demoRoute.0.1.jar --spring.config.location=classpath:config/contexts/ --spring.config.name=Prod

    By default, when running the Microservice Route, it calls the configuration files in the /config folder inside the Microservice jar. You can switch to an external configuration folder where the configuration files are located using the spring.config.additional-location property. For example, the following command executes the Microservice named demoRoute.0.1.jar using the configuration files in the config folder in the directory where the Microservice jar is located.

    java -jar demoRoute.0.1.jar --spring.config.additional-location=./config

Spring Boot includes a number of built-in endpoints for you to monitor and interact with the Microservice. You can use the mappings endpoint to show the list of all available endpoints. For more information, see Spring Boot documentation.

To run a Route that is exported as a .zip file, proceed as follows:

  1. Extract the .zip file in the directory of your choice.

  2. Go to the <RouteName> folder that contains the external config folder, the Microservice .jar file, and the start scripts to start the Microservice for Linux (.sh) and Windows (.bat).

  3. Edit the configuration files in the config folder as needed and run the .sh file on Linux or the .bat file on Windows to start the Microservice with the external configurations.

If the Route contains the cSOAP or cREST component, and if one or more of the ESB infrastructure services are used, you need to do the following when running the Microservice Route:

Microservices built with Talend Studio provide access to Spring boot actuator endpoints. The default monitoring endpoints are limited to info, health and jolokia.

The basic authentication is always activated to reach the Microservice management endpoints (info, health and jolokia).

You need to setup the SPRING_BOOT_SECURITY_USER_NAME and SPRING_BOOT_SECURITY_USER_PASSWORD environment variables in the machine where the Microservice will be executed.

At the Microservice startup, one log entry shows when credentials have been found.
Example of a log entry showing that credentials have been found.
If no environment variables are available at runtime, fallback mechanism will generate a random password at the Microservice startup and log corresponding warnings.
Example of a log entry showing that credentials were not found and warnings were generated.

You will be prompted to sign in with the security credentials to access the Microservice management endpoints.

When you start a Microservice docker image, you need to provide the SPRING_BOOT_SECURITY_USER_NAME and SPRING_BOOT_SECURITY_USER_PASSWORD environment variables via the command line. For example:
docker run -p 8065:8065 -t --env SPRING_BOOT_SECURITY_USER_NAME='user' --env SPRING_BOOT_SECURITY_USER_PASSWORD='password'  p1/docker_ms_demorestroute
Note that the --env parameter should be given before the image name.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!