# ESB: hints and notes

## Studio

| Item | Description | Available in |
| --- | --- | --- |
| cAMQP requires the Client ID to be set | When you use the cAMQP component in the Route Builder, make sure you<br>always set the Client ID to a unique value which is not used in other Routes<br>(the clientId header in cAMQP advanced settings.) If more<br>than one cAMQP based Routes are executed in the same Talend Runtime<br>container and the Client ID is not set, you will see some exceptions<br>like:<br><br><br>org.springframework.jms.UncategorizedJmsException:<br>Uncategorized exception occured during JMS processing; nested<br>exception is javax.jms.JMSException: Broker: localhost - Client:<br>tlnd-spappala(6968):2 already connected from<br>tcp://127.0.0.1:49729 | <ul>Available in:<li>Cloud API Services Platform</li><li>Cloud Data Fabric</li><li>Data Fabric</li><li>Data Services Platform</li><li>ESB</li><li>MDM Platform</li><li>Real-Time Big Data Platform</li></ul><br><br>All Talend products<br>with ESB |

## Runtime

| Item | Description | Available in |
| --- | --- | --- |
| Copying an ESB Container will lead to unexpected<br>behaviour | A Talend Runtime container which was started once can't<br>be copied to a different directory or machine. It is recommended to always<br>use a fresh (never started) container that is shipped with the<br>product. | <ul>Available in:<li>Cloud API Services Platform</li><li>Cloud Data Fabric</li><li>Data Fabric</li><li>Data Services Platform</li><li>ESB</li><li>MDM Platform</li><li>Real-Time Big Data Platform</li></ul><br><br>All Talend products<br>with ESB |

## ESB Java Development

| Item | Description | Available in |
| --- | --- | --- |
| Using PropertyPlaceHolder for Web-Containers | When creating Talend ESB web archives for services using Spring<br>contexts, note that all instances of PropertyPlaceholderConfigurer must<br>contain the following properties to avoid placeholder resolution problems<br>during startup of Spring contexts:<br><br><br>&lt;property<br>name="ignoreUnresolvablePlaceholders" value="true" /&gt; &lt;property<br>name="ignoreResourceNotFound" value="true" /&gt; | <ul>Available in:<li>Cloud API Services Platform</li><li>Cloud Data Fabric</li><li>Data Fabric</li><li>Data Services Platform</li><li>ESB</li><li>MDM Platform</li><li>Real-Time Big Data Platform</li></ul><br><br>All Talend products<br>with ESB |

## Notes about Git support

| Item | Description | Available in |
| --- | --- | --- |
| Git implementation | The Git implementation done in Talend has a similar behavior as the SVN<br>one. | <ul>Available in:<li>Cloud API Services Platform</li><li>Cloud Data Fabric</li><li>Data Fabric</li><li>Data Services Platform</li><li>ESB</li><li>MDM Platform</li><li>Real-Time Big Data Platform</li></ul><br><br>All Talend products<br>with ESB |
| All branches/tags are visible for all projects on the same Git<br>repository | If you create some branches/tags for one project, all other projects on<br>the same Git repository will have the same list. | <ul>Available in:<li>Cloud API Services Platform</li><li>Cloud Data Fabric</li><li>Data Fabric</li><li>Data Services Platform</li><li>ESB</li><li>MDM Platform</li><li>Real-Time Big Data Platform</li></ul><br><br>All Talend products<br>with ESB |
| Unlock mode | Any item modified will be kept locally, and will never be committed /<br>pushed to the server until the item is unlocked. Project items will be<br>stored temporarily on the stash system of Git if needed, so that they are<br>not pushed until they are unlocked. | <ul>Available in:<li>Cloud API Services Platform</li><li>Cloud Data Fabric</li><li>Data Fabric</li><li>Data Services Platform</li><li>ESB</li><li>MDM Platform</li><li>Real-Time Big Data Platform</li></ul><br><br>All Talend products<br>with ESB |

## Microservices

| Item | Description | Available in |
| --- | --- | --- |
| Context parameters naming for Microservices Deployments | During processing of context parameters for Microservices, be aware of<br>the following two special topics that influence the processing of context<br>parameter during the execution of Microservices. (only for Microservices but<br>not for Talend Runtime)<br><br>Context parameter might be overwritten by OS<br>environment variable which can lead to unexpected side effects. To avoid<br>this, try to use unique names which are not in conflict with names you<br>use in your OS environment.<br><br>Among the following parameters, Spring<br>Boot will take the OS environment variable as the first level variable<br>of the highest priority. If you specified the variable with the same<br>name as the system's, it will take system's.<br><br><ul> <li>Commandline arguments,</li> <li>OS environment variables,</li> <li>Application properties packaged inside your jar.</li> </ul><br><br>Context parameters with some characters, for example, underscore and<br>numbers surrounded by underscores, will be treated according to the<br>Spring Relaxed binding which can lead to unexpected behaviour for your<br>Routes. See https://github.com/spring-projects/spring-boot/wiki/Relaxed-Binding-2.0 for the transformations and avoid<br>these character and character combinations in your context parameter to<br>prevent conflicts or use them accordingly to take advantage of this<br>effect. | <ul>Available in:<li>Cloud API Services Platform</li><li>Cloud Data Fabric</li><li>Data Fabric</li><li>Data Services Platform</li><li>ESB</li><li>MDM Platform</li><li>Real-Time Big Data Platform</li></ul><br><br>All Talend products<br>with ESB |