Я использую Java-клиент CometD на Android.
группа компиляции: «org.cometd.java», имя: «cometd-java-client», версия: «2.9.1»
Мне нужно подписаться на канал на сервере CometD. Но есть проблема — серверу требуется пользовательское сообщение о подписке (это ожидаемая полезная нагрузка сообщения о подписке из документации сервера):
[
{
"user": "xyz-WQUAq3shWho1ZcJHaibQYzCh2ILMMX1o-gA6NuehTFYMhvViv6Ow3dvPbyt8Zwg10-bd8bd779f107615b1c5a1470706e4050e5389ddc",
"domain": "xyz",
"pid": "gA6NuehTFYMhvViv6Ow3dvPbyt8Zwg10",
"sid": "85f103a2",
"gid": "WQUAq3shWho1ZcJHaibQYzCh2ILMMX1o",
"pageId": "6ea23e",
"entityId": "xyz",
"triggeringGoal": "3E955818355C44E2479B2A26629E69566C8C6376",
"chatSearchPattern": "ua.domain=xyz",
"startTime": 1482931626853,
"metadata": "{}",
"chatMetadata": "{}",
"language": "en",
"id": "3",
"channel": "\/meta\/subscribe",
"subscription": "\/chat\/xyz-WQUAq3shWho1ZcJHaibQYzCh2ILMMX1o-gA6NuehTFYMhvViv6Ow3dvPbyt8Zwg10-bd8bd779f107615b1c5a1470706e4050e5389ddc",
"clientId": "26l1v2ngpdcwdtno1wu30rk92dur4",
"ext": {
}
}
]
Итак, мой вопрос: как добавить настраиваемые поля в сообщение о подписке (user
, domain
, pid
, sid
и т. д.)? Сейчас я подписан на такие каналы:
cometdClient.getChannel("/chat/" + clientID).subscribe(new ChannelListener("/chat/ messages"), new ChannelListener("/chat/ progress"));
Но это терпит неудачу, как и ожидалось.
Кстати, я использую org.eclipse.jetty.client.HttpClient
в качестве HttpClient.