Skip to content

Instantly share code, notes, and snippets.

@rgvaldovino
Created July 28, 2017 19:25
Show Gist options
  • Save rgvaldovino/967c63a17d5ebee6f1a35eb6416c5bb1 to your computer and use it in GitHub Desktop.
Save rgvaldovino/967c63a17d5ebee6f1a35eb6416c5bb1 to your computer and use it in GitHub Desktop.
Using platform events in Visual Force page

Based on this post, I used same javscript files and setup to subscribe to platform events from a visualforce page

<!-- LOAD COMETD SCRIPTS -->
<apex:includeScript value="{!URLFOR($Resource.up_resources, 'js/cometd/cometd.js')}"/>
<apex:includeScript value="{!URLFOR($Resource.up_resources, 'js/cometd/jquery.js')}"/>
<apex:includeScript value="{!URLFOR($Resource.up_resources, 'js/cometd/json2.js')}"/>
<apex:includeScript value="{!URLFOR($Resource.up_resources, 'js/cometd/jquery.cometd.js')}"/>
//subscribe to platform event
var url = window.location.protocol+'//'+window.location.hostname+'/cometd/40.0/';
console.log(url);
j$.cometd.init({
    url: url,
    requestHeaders: { Authorization: 'OAuth {!$Api.Session_ID}'},
    appendMessageTypeToURL : false
});

j$.cometd.subscribe('/event/UP_Rule_Execution_Finished__e', function(message) {
    console.log(message);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment