سؤال

لن يتلقى المشترك سوى محتوى من اللحظة التي يقوم فيها بالاشتراك في عقدة ولن يتم استلام جميع المحتوى القديم الذي نشره الناشر من قبل المشترك. هل هذا صحيح؟ هل لي أن أعرف ، ما الذي يجب علي فعله حتى يتلقى المشترك كل المحتوى القديم السابق؟

هل كانت مفيدة؟

المحلول

يمكنك تكوين العقد الخاصة بك لتكون ثابتة أو عابرة. بحسب ال choledtaion (xep-0060):

ما إذا كانت العقدة ثابتة أو يتم تحديد عابرة بواسطة حقل تكوين "PubSub#perstist_items".

ومع ذلك ، قد يتم تكوين خدمة PubSub (أو الخادم) لتجاهل استمرار الأحداث. (إذا كنت تستخدم OpenFire ، أعتقد أن هناك حدًا قابل للتكوين لأقصى حجم إجمالي للعناصر المخزنة)

كما أعلم أنك تستخدم smackx-pubsub, ، إليك بعض التعليمات البرمجية:

// create new node
pubSubManager.createNode(nodeId, newConfigureForm(persistent, includePayload, accessModel)

// change existing node
node.sendConfigurationForm(newConfigureForm(persistent, includePayload, accessModel));

private ConfigureForm newConfigureForm(final boolean persistent, final boolean includePayload, final AccessModel accessModel) {
  final ConfigureForm form = new ConfigureForm(FormType.submit);
  form.setPersistentItems(persistent);
  form.setDeliverPayloads(includePayload);
  form.setAccessModel(accessModel);
  return form;
}

ملاحظة: هل يمكن أن تخبرني لماذا أشعر بأننا نقوم بنوع من البرمجة الزوجية هنا؟ ؛)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top