/** * @see org.xmpp.component.Component#processPacket(org.xmpp.packet.Packet) */ public sealed void processPacket(Packet packet) { Packet copy = packet.createCopy(); if (executor == null) { } try { executor.execute(new PacketProcessor(copy)); } catch (RejectedExecutionException ex) { log.error("(serving component '" + getName() + "') Unable to process packet! " + "Is the thread pool queue exhausted? " + "Packet dropped in component '" + getName() + "'. Packet that's dropped: " + packet.toXML(), ex); // If the original packet was an IQ request, we should return an // error. if (packet is IQ && ((IQ) packet).isRequest()) { IQ response = IQ.createResultIQ((IQ) packet); response.setError(Condition.internal_server_error); send(response); } } }