}
Hermes myHermes = null;
QueueBrowser browser = null;
final DestinationConfig myDestination;
final MessageStore messageStore;
try
{
final Domain domain = queue != null ? Domain.QUEUE : Domain.TOPIC;
final String destinationName = queue != null ? queue : topic;
myHermes = HermesFactory.createHermes(getConfig(), getHermes());
myDestination = myHermes.getDestinationConfig(destinationName, domain);
messageStore = jdbcURL == null ? MessageStoreManager.create(storeId) : MessageStoreManager.create(jdbcURL, storeId);
}
catch (Exception e)
{
throw new BuildException(e);
}
try
{
int messagesRead = 0 ;
browser = myHermes.createBrowser(myDestination);
for (final Enumeration iter = browser.getEnumeration(); iter.hasMoreElements();)
{
final Message m = (Message) iter.nextElement();
if (m != null)
{
messageStore.store(m);
if (++messagesRead % commitInterval == 0)
{
messageStore.checkpoint();
}
}
}
}
catch (Exception e)
{
throw new BuildException(e);
}
finally
{
try
{
messageStore.checkpoint();
if (browser != null)
{
browser.close();
}