Openfire - группы, не обновленные в реестре из базы данных, используют пользовательские базы данных - PullRequest
2 голосов
/ 15 декабря 2009

Я задал этот вопрос в группах Openfire, но там, похоже, довольно тихо. Может быть, кто-то здесь в SO работает с Xiff / Openfire и имеет подсказку об этом:

Мы используем внешнюю базу данных для пользователей и групп, на Openfire 3.6.4 до Xiff 3.0 beta с нашим собственным клиентом.

Когда пользователь добавляется в нашу базу данных, реестр не обновляется. Я вошел как "Пользователь1". «Пользователь2» добавляется в базу данных в той же общей группе, поэтому я должен видеть его в своем списке. Пользователь 2 может войти в систему и увидеть пользователя 1 в своем списке, но список пользователя 1 не был обновлен. Даже после выхода из системы User2 по-прежнему не отображается в реестре User1.

Видимо, группа кэшируется или что-то в этом роде. Где я должен искать решение этой проблемы? Xiff? Открытый огонь? Я нашел информацию о свойстве «cache.name.maxLifetime» в документации, но не уверен, стоит ли использовать это свойство для получения групп для обновления членов.

Ответы [ 2 ]

1 голос
/ 18 декабря 2009

Если кто-нибудь придет сюда в поисках ответа на этот вопрос, вы можете следить за ним здесь:

Группы не обновляются в реестре из базы данных с использованием пользовательской базы данных

На форумах Ignite Realtime есть частичное решение.

0 голосов
/ 22 декабря 2009

Лучшим подходом будет использование протокола реестра (см. RFC 3921, раздел 7 ) для изменения реестра, возможно, путем написания компонента для OpenFire. Это изменит кэши при передаче, а также отправит уведомления клиентам, которые в данный момент вошли в систему для пользователя. Кроме того, у вас не будет проблем с перезаписью ваших изменений.

...