mirror of https://github.com/apache/activemq.git
resolve failure if DestinationRemoveRestartTest - destinations were auto created in the store on resetbatch which ocurred on shutdown
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@982180 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
8c4bb36bbe
commit
6f7e3fc1d5
|
@ -520,8 +520,10 @@ public class KahaDBStore extends MessageDatabase implements PersistenceAdapter {
|
||||||
try {
|
try {
|
||||||
pageFile.tx().execute(new Transaction.Closure<Exception>() {
|
pageFile.tx().execute(new Transaction.Closure<Exception>() {
|
||||||
public void execute(Transaction tx) throws Exception {
|
public void execute(Transaction tx) throws Exception {
|
||||||
StoredDestination sd = getStoredDestination(dest, tx);
|
StoredDestination sd = getExistingStoredDestination(dest, tx);
|
||||||
sd.orderIndex.resetCursorPosition();}
|
if (sd != null) {
|
||||||
|
sd.orderIndex.resetCursorPosition();}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Failed to reset batching",e);
|
LOG.error("Failed to reset batching",e);
|
||||||
|
|
|
@ -1392,6 +1392,16 @@ public class MessageDatabase extends ServiceSupport implements BrokerServiceAwar
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected StoredDestination getExistingStoredDestination(KahaDestination destination, Transaction tx) throws IOException {
|
||||||
|
String key = key(destination);
|
||||||
|
StoredDestination rc = storedDestinations.get(key);
|
||||||
|
if (rc == null && metadata.destinations.containsKey(tx, key)) {
|
||||||
|
rc = getStoredDestination(destination, tx);
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param tx
|
* @param tx
|
||||||
* @param key
|
* @param key
|
||||||
|
|
|
@ -24,7 +24,7 @@ import org.apache.activemq.command.ActiveMQDestination;
|
||||||
// from https://issues.apache.org/activemq/browse/AMQ-2216
|
// from https://issues.apache.org/activemq/browse/AMQ-2216
|
||||||
public class DestinationRemoveRestartTest extends CombinationTestSupport {
|
public class DestinationRemoveRestartTest extends CombinationTestSupport {
|
||||||
private final static String destinationName = "TEST";
|
private final static String destinationName = "TEST";
|
||||||
public byte destinationType;
|
public byte destinationType = ActiveMQDestination.QUEUE_TYPE;
|
||||||
BrokerService broker;
|
BrokerService broker;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -36,6 +36,7 @@ public class DestinationRemoveRestartTest extends CombinationTestSupport {
|
||||||
BrokerService broker = new BrokerService();
|
BrokerService broker = new BrokerService();
|
||||||
broker.setUseJmx(false);
|
broker.setUseJmx(false);
|
||||||
broker.setPersistent(true);
|
broker.setPersistent(true);
|
||||||
|
broker.setDeleteAllMessagesOnStartup(true);
|
||||||
broker.start();
|
broker.start();
|
||||||
return broker;
|
return broker;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue