public void broadCastToRoster(Message message) { Roster roster = con.getRoster(); RosterEntry entry=null; for (Iterator i=roster.getEntries(); i.hasNext(); ) { entry=(RosterEntry) i.next(); if (roster.getPresence(entry.getUser()) != null) { logger.info("Sending packet to "+ entry.getUser()); Chat ch = con.createChat(entry.getUser()); try { ch.sendMessage(message); logger.info("packet successfully dropped."); } catch (XMPPException e) { logger.warn("Sending of packet failed.", e); } } else { logger.debug("User "+entry.getUser()+" is offline."); } try { Thread.sleep(500); } catch (InterruptedException e) { logger.warn("Interrupted during roster broadcast."); } } }