RCG Salesforce Topic Listener - Implementation Template
Deployment
Each Accelerator implementation template in Exchange includes Bash and Windows scripts for building and deploying the APIs to CloudHub. These scripts depend on repositories, global settings, deployment profiles, and associated properties configured in the Maven settings.xml
file.
Many templates can also be run from Anypoint Studio without having to customize the Run/Debug profiles. However, some templates make use of hidden deployment properties to protect sensitive information (e.g., passwords and secret keys). These properties must be supplied to the runtime by updating the configuration profile and adding them as VM arguments.
Preparation
Ensure the Maven profile CloudHub-RCG-DEV
has been properly configured in your settings.xml
file. In particular, make sure the common properties for your environment have been provided (e.g., Anypoint Platform client ID and secret).
Required property overrides
At a minimum, the following properties must be customized for this application to reflect the target deployment environment.
Property Name | Description |
---|---|
anypoint-mq.case-update-dl-queue-name | Anypoint-mq Case Update Dead Letter Queue Name |
anypoint-mq.case-update-queue-name | Anypoint-mq Case Update Queue Name |
anypoint-mq.customers-exchange-name | Anypoint-mq Customer Update Exchange Name |
anypoint-mq.customer-dl-queue-name | Anypoint-mq Customer Update Dead Letter Queue Name |
anypoint-mq.individual-exchange-name | Anypoint-mq Individual Update Exchange Name |
anypoint-mq.individual-dl-queue-name | Anypoint-mq Individual Dead Letter Queue Name |
anypoint-mq.orders-exchange-name | Anypoint-mq Order Update exchange Name |
vm.queue-name | Oppurtunity sync VM queue name |
anypoint-mq.server-url | Anypoint-mq server host url |
anypoint-mq.client-id | Anypoint-mq client id |
anypoint-mq.client-secret | Anypoint-mq client secret |
sfdc.userName | Salesforce Instance client user Name |
sfdc.token | Salesforce Instance client token |
sfdc.password | Salesforce Instance client password |
sfdc.topicName | Salesforce Instance Cases topic name |
sfdc.customer.topicName | Salesforce Instance Accounts topic name |
sfdc.contact.topicName | Salesforce Instance Contacts topic name |
sfdc.opportunity.topicName | Salesforce Instance Oppurtunity topic name |
mdm.host | MDM System API HostName |
mdm.port | MDM System API Port |
mdm.base-path | MDM System API Base path |
mdm.path | SAP S/4 HANA System API path |
hana.host | SAP S/4 HANA System API HostName |
hana.port | SAP S/4 HANA System API Port |
hana.base-path | SAP S/4 HANA System API Base path |
hana.path | SAP S/4 HANA System API path |
Running the application from Anypoint Studio
The following instructions are for running applications from Studio but apply to debugging as well.
- Update the
src/main/resources/config/config-local.yaml
file and provide values for the properties described above. - Right-click the project and select
Run As -> Mule Application (configure)
- If hidden deployment properties (e.g., Anypoint MQ credentials) are required, select the
Arguments
tab and add the property definitions to theVM arguments
section. For example:-M-Danypoint-mq.client-id=<client id> -M-Danypoint-mq.client-secret=<client secret>
- Click
Run
to launch the application.
To debug an application, choose Debug As -> Mule Application (configure)
in the second step instead.
Deployment instructions for CloudHub
The following instructions apply to CloudHub deployments only.
- Update the
config-dev.yaml
properties as described above. You can also choose to add them to yoursettings.xml
file instead. - Use one of the following scripts to deploy application to CloudHub:
packageDeploy.sh
(Mac/Linux) orpackageDeploy.cmd
(Windows) - clean, build, and deploy the applicationdeployOnly.sh
(Mac/Linux) ordeployOnly.cmd
(Windows) - deploy a previously-built application
- Bring up the Runtime Manager console in Anypoint and monitor the application for proper startup.
Next steps
Visit the Data mappings tab describes the mappings if any specific to interact with other APIs.