Как правильно слушать MultiUserChat в Smack?

Я не уверен, как правильно слушать MultiUserChats, поскольку есть два разных способа их прослушивания.

Первый способ - добавить MessageListener для каждой комнаты, например так:

MultiUserChat muc = new MultiUserChat(connection,"MyGroup");
muc.addMessageListener(new PacketListener() {
    @Override
    public void processPacket(Packet packet) throws NotConnectedException {
        // TODO Auto-generated method stub
    }
});

Второй способ - слушать как обычные сообщения в одном чате:

PacketFilter filter = new MessageTypeFilter(Message.Type.groupchat);
connection.addPacketListener(new PacketListener() {
    @Override
    public void processPacket(Packet packet) {
        Message message = (Message) packet;
        if (message.getBody() != null) {
            final String fromName = StringUtils.parseBareAddress(message.getFrom());
            final String Rtext = message.getBody();

Учитывая, что я также слушаю передачу файлов, не могли бы вы помочь мне выяснить, какой путь является правильным?

Ответы на вопрос(2)

Ваш ответ на вопрос