diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatOccupantIntegrationTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatOccupantIntegrationTest.java index b8883dd054..c662ef3f1f 100644 --- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatOccupantIntegrationTest.java +++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatOccupantIntegrationTest.java @@ -32,6 +32,7 @@ import org.jivesoftware.smack.PresenceListener; import org.jivesoftware.smack.SmackException; +import org.jivesoftware.smack.StanzaListener; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.filter.FromMatchesFilter; import org.jivesoftware.smack.packet.Message; @@ -107,12 +108,13 @@ public void mucJoinEventOrderingTest() throws Exception { final ResultSyncPoint subjectResultSyncPoint = new ResultSyncPoint<>(); final List results = new ArrayList<>(); - conTwo.addStanzaListener(stanza -> { + final StanzaListener stanzaListener = stanza -> { results.add(stanza); if (stanza instanceof Message && ((Message) stanza).getSubject() != null) { subjectResultSyncPoint.signal(((Message) stanza).getSubject()); } - }, FromMatchesFilter.create(mucAddress)); + }; + conTwo.addStanzaListener(stanzaListener, FromMatchesFilter.create(mucAddress)); try { mucAsSeenByTwo.join(nicknameTwo); @@ -130,6 +132,7 @@ public void mucJoinEventOrderingTest() throws Exception { assertEquals(mucSubject, ((Message) results.get(3)).getSubject(), "The fourth stanza that was received by '" + conTwo.getUser() + "' after it joined room '" + mucAddress + "' was expected to be a different stanza."); } finally { tryDestroy(mucAsSeenByOne); + conTwo.removeStanzaListener(stanzaListener); } }