in activemq-kahadb-exporter/src/main/java/org/apache/activemq/cli/kahadb/exporter/Exporter.java [177:206]
private static void appendMultiKahaDbStore(final ArtemisJournalMarshaller xmlMarshaller,
final MultiKahaDBPersistenceAdapter multiAdapter, final ExportConfiguration config) throws Exception {
try {
multiAdapter.start();
List<KahaDBExporter> dbExporters = multiAdapter.getAdapters().stream()
.filter(adapter -> adapter instanceof KahaDBPersistenceAdapter)
.map(adapter -> {
KahaDBPersistenceAdapter kahaAdapter = (KahaDBPersistenceAdapter) adapter;
return new KahaDBExporter(kahaAdapter,
new ArtemisXmlMetadataExporter(kahaAdapter.getStore(), xmlMarshaller, config),
new ArtemisXmlMessageRecoveryListener(kahaAdapter.getStore(), xmlMarshaller));
}).collect(Collectors.toList());
xmlMarshaller.appendBindingsElement();
for (KahaDBExporter dbExporter : dbExporters) {
dbExporter.exportMetadata();
}
xmlMarshaller.appendEndElement();
xmlMarshaller.appendMessagesElement();
for (KahaDBExporter dbExporter : dbExporters) {
dbExporter.exportQueues(config.getQueuePattern());
dbExporter.exportTopics(config.getTopicPattern());
}
xmlMarshaller.appendEndElement();
} finally {
multiAdapter.stop();
}
}