About this task
To build a Route to a Spring-boot based ESB Microservice, complete the following:
Click on the Studio tool bar, or select File > Edit Project
Properties from the menu bar to open the Project Settings dialog box.
- In the tree diagram to the left of the dialog box, select Log4j to display the corresponding view.
Customize the Log4j configuration as needed. The default Log4j
XML instructions only output the WARN
logs to the console. For more information on the log4j parameters, see http://wiki.apache.org/logging-log4j/Log4jXmlFormat.
A sample Log4j configuration is shown below which will also provide a tesb.log file when the ESB Microservice is started. Note that the Log4j configuration is the same for the Studio and the ESB Microservice. Nevertheless a log4j.xml file can also be placed into an external configuration folder of the Microservice at runtime to provide a specific Log4j configuration for production deployment.
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="stdout" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d | %-5.5p | %-16.16t | %-32.32C %4L | %m%n"/> </layout> </appender> <appender name="rollingFile" class="org.apache.log4j.RollingFileAppender"> <param name="file" value="tesb.log"/> <param name="MaxFileSize" value="1024KB"/> <param name="MaxBackupIndex" value="10"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d | %-5.5p | %-16.16t | %-32.32C %4L | %m%n"/> </layout> </appender> <root> <priority value="info"/> <appender-ref ref="stdout"/> <appender-ref ref="rollingFile"/> </root> </log4j:configuration>
If the Route contains the cSOAP or cREST
component, you need to use relative endpoint URL instead of absolute URL. When
the Microservice is running, an embedded Tomcat container with the default 8065
port is started by Spring-boot. The REST and Soap services also run in this
port. If you want to override the default port, either use the --server.port
option in the command or configure it in the application.properties file in the
/config folder inside the Microservice jar.
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 before building the Route:
If the Service Activity Monitor is enabled, edit the
<Studio_Home>/esb/agent.propertiesfile to configure the Service Activity Monitoring Agent as needed. For more information about the properties of the
agent.propeties, see the section on the Service Activity Monitoring Agent configuration in the Talend ESB Infrastructure Services Configuration Guide.
If the Service Locator is enabled, edit the
<Studio_Home>/esb/locator.propertiesfile to configure the Service Locator as needed. For more information about the properties of the
locator.properties, see the section on the Service Locator configuration in the Talend ESB Infrastructure Services Configuration Guide.
If the Route is a service provider and the Authentication with the Username Token is enabled, edit the
Studio_Home/esb/microservice/users.propertiesfile to specify the authenticated user credentials following the format
<USERNAME>=<PASSWORD>. For example, the following settings defines two users:
If the Authentication with the SAML Token, and Authorization is enabled, or if the Service Registry is used, you need to install the ESB enterprise artifacts into your local maven repository using the following commands from a console window:
cd <TalendRuntimePath>/add-ons/maven-repo mvn clean package -s <Studio_Home>/configuration/maven_user_settings.xml
Open the Route in the design work space. In the Deployment view of the Route tab, select RouteMicroservice in the Build
Type list. Save the Route.
In the Repository tree
view, right-click the Route you want to build, and select Build Route to open the Build Route dialog box.
- In the To archive file field, browse to the directory where you want to save your built Route.
- In the Route Version area, select the version number of the Route you want to build if you have created more than one version of the Route.
- In the Build Type area, select ESB Microservice (Spring Boot).
In the options area:
select the Only export the default context option to export only the default context used in the Route;
select the Export as ZIP option to export the Route to a .zip file, which provides an external config folder and start scripts to start the Microservice with the external config folder for Linux (.sh) and Windows (.bat). If this option is not selected, the Route is exported as a .jar file by default.
Click Finish to validate
your changes, complete the export operation and close the dialog box. A pop up
window appears prompting you that Maven needs to be set to online to build the
ESB Microservice, as some libraries have to be downloaded from the remote Maven
repository. Talend Studio requires
Internet access when you use the ESB Microservice feature. Talend Studio does not provide a pure
offline mode for the ESB Microservice build operation. Click Yes to change Maven to online mode.
If the Finish operation leads to an error, you can find more information in the Studio log file
A .jar or .zip file for the Route is created in the defined place. You can run it independent of Talend Studio in standalone mode.