Como manter a sala de groupchat (MUC) existente o tempo todo, mesmo se desconectada do servidor XMPP?

Estou desenvolvendo um módulo de mensagem instantânea (parte do aplicativo web J2EE) usando openfire / jsjac dentro do protocolo do XMPP (Jabber).

O openfire users / groups management / tables foi redirecionado para nossas tabelas de banco de dados de negócios, o que significa que eu não preciso mais manter usuários / grupos em openfire. todos os usuários / relacionamento de grupo foram definidos no banco de dados de negócios.

Abaixo está a imagem que eu desenho sobre o painel principal de acordo com a exigência. por causa da minha baixa reputação eu não posso postar uma imagem, Então eu postar uma url para a imagem da minha interface do usuário principal instantmessage. Desculpe pela inconveniência.Imagem da interface do usuário principal instantmessage

Vocês podem ver que no painel esquerdo, não há uma lista de usuários / grupos. Há sessões salvas de acordo com a história, o que me confunde, especialmente sobre o grupo. Eu li o "XEP-0045: Multi-User Chat" do XMPP.org. Eu sei sobre o fluxo de trabalho geral sobre o chat em grupo:XEP-0045: Bate-papo com vários usuários "

Crie o quarto, produza o quarto.Configurar o quarto (quarto reservado)obter usersjid do banco de dados corporativo e ligar (adicionar) usuários à nova sala criada.enviar mensagem para o quarto.Serviço enviará mensagem para todos os membros do grupo.

E sabia que há tipo de quarto ésala persistente é explicado como "Uma sala que não é destruída se o último ocupante sair; antônimo: Sala Temporária."por doc. E no mesmo documento há algumas frases:

Um dono de quarto deve ser capaz de destruir um quarto, especialmente se o quarto for persistente. O fluxo de trabalho é o seguinte:

O dono do quarto solicita que o quarto seja destruído, opcionalmente especificando um motivo e um local alternativo.A sala remove todos os usuários da sala (incluindo informações apropriadas sobre o local alternativo e o motivo da remoção) e destrói a sala, mesmo que ela seja definida como persistente.

Depois de ler a frase acima, estou mais intrigado, existem vários problemas ainda estou confuso.

qual é o significado de "saídas de ocupantes"? se um ocupante sair do sistema (offline), significa que "existe" .E todos os ocupantes estão offline, isso significa que o "tipo persistente" fará com que a sala que criamos permanecesse existente? Então, onde as informações da sala são salvas? em openfire ou em algum outro lugar?Suponha que todos os ocupantes existam (offline), embora esta sala criada não tenha sido destruída, e quanto às informações de ligação? Quero dizer, suponha que um usuário recebeu a associação de proprietário (admin), se esse usuário existir ou estiver offline, a sala persistente manterá sua função de associação, certo? Em outras palavras, desde que a sala não seja destruída, todas as informações de configuração e vinculação não serão perdidas, certo?Como sobre a situação que o servidor openfire encontra reiniciando, se a sala criada e suas informações ainda estão lá?como re-encontrar a sala criada se o proprietário re-login? salvando o id da sala?

além da pergunta acima, achei o fluxo de trabalho para realizar o MUC com um quarto persistente. você poderia, por favor, verificar isso e ver qual problema existia no fluxo?

Meu fluxo de trabalho para o MUC com espaço persistente

O proprietário envia o objeto de presença ao servidor para a sala de criação, fornece o JID da sala e define o ID da sala.O proprietário envia o objeto IQ ao Servidor para configurar a sala criada e definir o tipo de quarto como "persistente".O proprietário envia o objeto IQ para conceder a outros usuários a função de associação.O proprietário envia a mensagem Object para ROOM jid, e ROOM jid encaminhará toda a mensagem para seus membros vinculados.Membros comuns desta sala lidam com a mensagem (recebem) e obtêm o quarto jid eid do quarto (Espero que todos os usuários, incluindo o proprietário, possam usar este id da sala para re-encontrar o quarto quando eles relogin ..)

Portanto, não importa qual é o papel, proprietário ou membro comum, como reagrupar e reingressar na sala criada de acordo com o quarto jid ou id do quarto com uma pré-condição de que o tipo de quarto seja "persistente" ??

questionAnswers(3)

yourAnswerToTheQuestion