QpidServiceLoader<MessageStoreFactory> qpidServiceLoader = new QpidServiceLoader<MessageStoreFactory>();
Iterable<MessageStoreFactory> factories = qpidServiceLoader.atLeastOneInstanceOf(MessageStoreFactory.class);
for (MessageStoreFactory messageStoreFactory : factories)
{
String type = messageStoreFactory.getType();
MessageStoreFactory factory = _factories.put(type.toLowerCase(), messageStoreFactory);
if (factory != null)
{
throw new IllegalStateException("MessageStoreFactory with type name '" + type
+ "' is already registered using class '" + factory.getClass().getName() + "', can not register class '"
+ messageStoreFactory.getClass().getName() + "'");
}
}
}