There are two ways to dynamically inject parameter values to integration artifacts deployed in your environments:
Child pages (Children Display) |
---|
Excerpt | ||
---|---|---|
| ||
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' may be different in each environment. Without this feature, you need to create and maintain separate artifacts for each environment. This feature allows you to deploy the same integration solution to multiple environments (DEV, PROD, etc.) and then inject separate parameter values to the different environments. There are two ways to dynamically inject parameters to your integration solutions: Using environment variables, or a configuration file.
|
...
See the topics given below.
Injecting parameters as environment variablesIf you want to inject parameter values as environment variables, |
...
you need to apply the following. Configuring the synapse artifactsDefine your synapse artifacts using "$SYSTEM:<place_holder_value>" as the parameter value. Note that <place_holder_value> represents a place holder representing the parameter. For example, shown below is an endpoint artifact, where the endpoint uri configured for this feature:
Export environment variableIn a VM deployment, you can export the variables as shown below. Here VAR is the url you need to have set as environment property.
Injecting parameters using a configuration fileIf you want to inject parameter values using a configuration file |
...
, you need to apply the following configurations: Configuring the synapse artifactsDefine your synapse artifacts using "$FILE:<place_holder_value>" as the parameter value. Note that <place_holder_value> represents a place holder representing the parameter. For example, shown below is an endpoint artifact, where the endpoint uri configured for this feature:
Setting up the configuration fileYou can use a configuration file to load the parameter values for each environment. By default, the ESB profile is shipped with the file.properties file (stored in the <EI_HOME>/conf directory), which you can use to store the parameter values that should be injected to your synapse configuration. The parameter values should be specified as a key-value pair as shown below.
Alternatively, you can use a custom file stored in a file system instead of the default It is possible to use a file in an NFS mount as the file path and it is useful for container deployment. We can use the environment specific configuration from the file in NFS mount and inject the parameter values to the docker container. |
...
Updating the system propertyIn the the product startup scripts ( |
...
Code Block |
---|
-Dproperties.file.path=default |
...
When the above value set to default, the system reads the parameters from the file.properties file that is available in the |
...
Using custom property files
...
If you are using a custom configuration file, instead of the file.properties file, you |
...
need to configure the particular file path in the integrator.sh or integrator.bat file as shown below. |
...
|
...
|
...
|
...
|
With this feature, it is possible to inject the parameters by using the $FILE: prefix followed by the relevant key used to map the original value.
Supported parameters
Endpoint parameters
...
Supported parametersListed below are the synapse artifact parameters to which you can dynamically inject values. Note that there are two ways to inject parameters as discussed above. Endpoint parameters
Data service parametersThe following data service parameters support this feature.
Scheduled Task parametersThe pinned servers parameter can be set as an environment variable for a scheduled task or proxy service. |
...
Inbound Endpoint parametersSee the list of |
...
parameters available for the following inbound endpoints: |
...
Proxy service parametersThe pinned servers parameter as well as all the service-level transport parameters: |
...
Message Store parameters
|