When deploying integration artifacts in different environments, it is necessary to change the synapse parameters used in the artifacts according to the environment. For example, the 'endpoint URL' will be different in each environment. If you define the synapse parameters in your artifacts using the "$SYSTEM:<value>" format, you can inject the required parameter values to each environment. Without this feature, you need to create and maintain separate artifacts for each environment. This feature ensures allows deploy the same integration solution to multiple environments (DEV, PROD, etc.) and then inject separate parameter values to the different environments.
This feature is particularly useful for container deployments, where we need to dynamically inject the parameter values to the docker container.
There are two ways to dynamically inject parameters to your integration solutions:
Injecting parameters as environment variables
Injecting parameters using a file
Supported Synapse parameters
Listed below are the synapse parameters in integration artifacts that you can parameterize.
Endpoints
Endpoint Type | Parameters | Example |
---|---|---|
Address Endpoint | uri | In the following example, the endpoint URL is configured for an environment variable. <?xml version="1.0" encoding="UTF-8"?> <endpoint xmlns="http://ws.apache.org/ns/synapse" name="StockQuoteEndPoint"> <address uri="$SYSTEM:stockQuoteEP"/> </endpoint> In a VM deployment, you can export the variables as shown below. Here VAR is the url you need to have set as environment property. export VAR=http://localhost:61616/... |
HTTP Endpoint | uri | |
Loadbalance Endpoint | hostname and port | |
RecipientList Endpoint | hostname and port | |
Template Endpoint | uri | |
WSDL Endpoint | wsdlURI |