@Override public void close() throws IOException { try { if (xmlWriter != null) xmlWriter.close(); } catch (XMLStreamException ignore) { } finally { super.close(); } }
@Override public void close() throws WriterException { // flush all remaining aggregated messages List<Entry<String, Message>> entries = new ArrayList<Entry<String, Message>>(aggregatedMap.entrySet()); Collections.sort( entries, new Comparator<Entry<String, Message>>() { @Override public int compare(Entry<String, Message> o1, Entry<String, Message> o2) { return (int) (o1.getValue().getStartTime() - o2.getValue().getStartTime()); } }); for (Entry<String, Message> entry : entries) { processAggregatedMessage(entry.getValue(), entry.getValue()); } aggregatedMap.clear(); writer.close(); }