Salesforce: PushTopics из Streaming API не обновляет страницу VF автоматически - PullRequest
0 голосов
/ 01 февраля 2020

Я создал PushTopi c для пользовательского объекта. Это выглядит следующим образом:

SELECT Id, Name, Price__c, Quantity__c FROM Item__c

Теперь я использую PushTopics из workbench.developerforce.com, чтобы обновлять свою страницу Visualforce соответствующим образом всякий раз, когда я обновляю данные в Backend! Теперь я попытался подключиться с помощью Cometd и выполнил примерную процедуру c, которая не позволяет мне даже войти в метод init ()! Я не понимаю, в чем дело!

Сценарии, которые я включил (из Cometd версии 2.2.0):

<apex:includeScript value="{!$Resource.cometd}"/>
<apex:includeScript value="{!$Resource.jquery}"/>
<apex:includeScript value="{!$Resource.json2}"/>
<apex:includeScript value="{!$Resource.jquery_cometd}"/>

jQuery код ниже:

(function($){
    $(document).ready(function() {
        // Connect to the CometD endpoint
        $.cometd.init({
           url: window.location.protocol+'//'+window.location.hostname+'/cometd/24.0/',
           requestHeaders: { Authorization: 'OAuth {!$Api.Session_ID}'}
       });

       // Subscribe to a topic. JSON-encoded update will be returned
       // in the callback
       $.cometd.subscribe('/topic/AccountUpdates', function(message) {
           callRefresh();
        });
    });
   })(jQuery)

класс Apex:

public class StreamingAPIController {        
 public StreamingAPIController() {
 }

 public List<Account> getlistAccount() {
    return [SELECT Id, Name, AccountNumber FROM Account];
 }

 public PageReference refresh() {
    getlistAccount();
    return null;
 }
}

Кто-нибудь, кто хорошо понимает «использование Cometd для обновления страницы VF», может дать мне несколько советов?

...