Step 5: Subscribe to Change Events

Subscribe to change events and perform bitmap field expansion. By setting a flag in arguments.yaml, the Subscribe example expands the changedFields bitmap fields in change events into its component fields.

Change event headers are described in ChangeEventHeader Fields in the Change Data Capture Developer Guide. To learn more about bitmap field expansion, see Event Deserialization Considerations.

Prerequisites

  1. In your pub-sub-api folder, go to java/src/main/resources and open the arguments.yaml file.

    • Provide the change event channel: TOPIC: /data/OpportunityChangeEvent
    • Enable bitmap field expansion for ChangeEventHeader: PROCESS_CHANGE_EVENT_HEADER_FIELDS: true.
  2. In a Terminal window, navigate to the java folder.

  3. To run the example, from the top-level java folder, enter:

    ./run.sh genericpubsub.Subscribe

    The example subscribes to the /data/OpportunityChangeEvent channel and captures any new or changed Opportunity records.

  4. In Salesforce, create an opportunity record. The change event is received and printed. For example:

  5. Update the opportunity record. For example, select a Type of New Customer.

    The change event for the update is received and printed. The output includes the Changed Fields section, which contains the fields that were expanded from the changedFields bitmap field. It lists the two fields that were changed: the Type field that you changed, and the LastModifiedDate field that the system changed. For example:

The client code for the Pub/Sub API RPC methods is in the genericpubsub folder. To check out the implementation for each RPC method, open the corresponding Java file in the genericpubsub folder. For the Subscribe example, open Subscribe.java.

See Subscribe RPC Method.

See Also