Я создал 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», может дать мне несколько советов?