You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2015/04/23 14:11:02 UTC
[1/2] activemq git commit:
https://issues.apache.org/jira/browse/AMQ-5542 - test that shows retaining of
data files due to ack file map and the need for mKahadb if there are low
limits and serial usage - test has been hanging since the fix
Repository: activemq
Updated Branches:
refs/heads/master eb6c08263 -> 165959e25
https://issues.apache.org/jira/browse/AMQ-5542 - test that shows retaining of data files due to ack file map and the need for mKahadb if there are low limits and serial usage - test has been hanging since the fix
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/971ff0dd
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/971ff0dd
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/971ff0dd
Branch: refs/heads/master
Commit: 971ff0dd9eb208c9e945b6554cb6490a9ee2d921
Parents: eb6c082
Author: gtully <ga...@gmail.com>
Authored: Thu Apr 23 13:10:47 2015 +0100
Committer: gtully <ga...@gmail.com>
Committed: Thu Apr 23 13:10:47 2015 +0100
----------------------------------------------------------------------
.../TransactedStoreUsageSuspendResumeTest.java | 21 ++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/971ff0dd/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TransactedStoreUsageSuspendResumeTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TransactedStoreUsageSuspendResumeTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TransactedStoreUsageSuspendResumeTest.java
index 3d32867..6b11f71 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TransactedStoreUsageSuspendResumeTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TransactedStoreUsageSuspendResumeTest.java
@@ -108,7 +108,7 @@ public class TransactedStoreUsageSuspendResumeTest {
broker.setPersistent(true);
KahaDBPersistenceAdapter kahaDB = new KahaDBPersistenceAdapter();
- kahaDB.setJournalMaxFileLength(500 * 1024);
+ kahaDB.setJournalMaxFileLength(256 * 1024);
kahaDB.setCleanupInterval(10*1000);
broker.setPersistenceAdapter(kahaDB);
@@ -165,13 +165,30 @@ public class TransactedStoreUsageSuspendResumeTest {
BytesMessage message = session.createBytesMessage();
message.writeBytes(new byte[10]);
- for (int i=0; i<4240; i++) {
+ for (int i=0; i<1240; i++) {
// mostly fill the store with retained messages
// so consumer only has a small bit of store usage to work with
producer.send(retainQueue, message);
session.commit();
}
+ // issue with gc and linear store usage
+ // some daylight in needed between retainQ and regularQ to free up the store
+ // log4j.logger.org.apache.activemq.store.kahadb.MessageDatabase=TRACE
+ Destination shortRetainQueue = session.createQueue(QUEUE_NAME + "-retain-short");
+ for (int i=0; i<1240; i++) {
+ producer.send(shortRetainQueue, message);
+ session.commit();
+ }
+
+ MessageConsumer consumer = session.createConsumer(shortRetainQueue);
+ for (int i=0; i<1240; i++) {
+ consumer.receive(4000);
+ session.commit();
+ }
+
+ LOG.info("Done with retain q. Mem Usage: " + broker.getSystemUsage().getMemoryUsage());
+ LOG.info("Done with retain q. Store Usage: " +broker.getSystemUsage().getStoreUsage());
consumerStartLatch.countDown();
for (int i = 0; i < MAX_MESSAGES; i++) {
producer.send(queue, message);
[2/2] activemq git commit: tidy up a bunch of jdbc test cases to
ensure embedded derby is shutdown
Posted by gt...@apache.org.
tidy up a bunch of jdbc test cases to ensure embedded derby is shutdown
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/165959e2
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/165959e2
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/165959e2
Branch: refs/heads/master
Commit: 165959e25007271f8cdfdcf72641b9a92483ef40
Parents: 971ff0d
Author: gtully <ga...@gmail.com>
Authored: Thu Apr 23 13:12:49 2015 +0100
Committer: gtully <ga...@gmail.com>
Committed: Thu Apr 23 13:12:49 2015 +0100
----------------------------------------------------------------------
.../store/jdbc/DataSourceServiceSupport.java | 19 +++++++++++
.../store/jdbc/DefaultDatabaseLocker.java | 2 +-
.../store/jdbc/JDBCPersistenceAdapter.java | 6 ++--
.../org/apache/activemq/broker/AMQ4351Test.java | 5 ---
.../broker/ft/DbRestartJDBCQueueTest.java | 5 +++
.../broker/ft/JDBCQueueMasterSlaveTest.java | 7 +++-
.../org/apache/activemq/bugs/AMQ4636Test.java | 11 ++-----
.../org/apache/activemq/bugs/AMQ4952Test.java | 7 ++++
.../bugs/TrapMessageInJDBCStoreTest.java | 1 -
.../activemq/store/MessagePriorityTest.java | 2 +-
.../store/jdbc/JDBCCommitExceptionTest.java | 7 ----
.../store/jdbc/JDBCIOExceptionHandlerTest.java | 34 ++++++++------------
.../store/jdbc/JDBCMessagePriorityTest.java | 25 ++------------
.../store/jdbc/JDBCNegativeQueueTest.java | 1 -
.../store/jdbc/JDBCNetworkBrokerDetachTest.java | 4 +--
.../store/jdbc/JDBCPersistenceAdapterTest.java | 6 ----
.../store/jdbc/JDBCStoreAutoCommitTest.java | 14 ++++----
.../store/jdbc/JDBCStoreBrokerTest.java | 14 ++------
.../activemq/store/jdbc/JDBCStoreOrderTest.java | 7 +---
.../store/jdbc/JDBCTablePrefixAssignedTest.java | 5 ---
.../activemq/store/jdbc/JDBCTestMemory.java | 9 ------
.../store/jdbc/LeaseDatabaseLockerTest.java | 14 +++++---
.../usecases/JDBCDurableSubscriptionTest.java | 4 ---
23 files changed, 80 insertions(+), 129 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/DataSourceServiceSupport.java
----------------------------------------------------------------------
diff --git a/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/DataSourceServiceSupport.java b/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/DataSourceServiceSupport.java
index 00b2490..31835ba 100644
--- a/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/DataSourceServiceSupport.java
+++ b/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/DataSourceServiceSupport.java
@@ -18,6 +18,7 @@ package org.apache.activemq.store.jdbc;
import java.io.File;
import java.io.IOException;
+import java.sql.SQLException;
import javax.sql.DataSource;
@@ -36,6 +37,7 @@ abstract public class DataSourceServiceSupport extends LockableServiceSupport {
private String dataDirectory = IOHelper.getDefaultDataDirectory();
private File dataDirectoryFile;
private DataSource dataSource;
+ private DataSource createdDefaultDataSource;
public DataSourceServiceSupport() {
}
@@ -68,11 +70,19 @@ abstract public class DataSourceServiceSupport extends LockableServiceSupport {
dataSource = createDataSource(getDataDirectoryFile().getCanonicalPath());
if (dataSource == null) {
throw new IllegalArgumentException("No dataSource property has been configured");
+ } else {
+ createdDefaultDataSource = dataSource;
}
}
return dataSource;
}
+ public void closeDataSource(DataSource dataSource) {
+ if (createdDefaultDataSource != null && createdDefaultDataSource.equals(dataSource)) {
+ shutdownDefaultDataSource(dataSource);
+ }
+ }
+
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
@@ -90,6 +100,15 @@ abstract public class DataSourceServiceSupport extends LockableServiceSupport {
return ds;
}
+ public static void shutdownDefaultDataSource(DataSource dataSource) {
+ final EmbeddedDataSource ds = (EmbeddedDataSource) dataSource;
+ ds.setShutdownDatabase("shutdown");
+ try {
+ ds.getConnection();
+ } catch (SQLException expectedAndIgnored) {
+ }
+ }
+
public String toString() {
return "" + dataSource;
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/DefaultDatabaseLocker.java
----------------------------------------------------------------------
diff --git a/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/DefaultDatabaseLocker.java b/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/DefaultDatabaseLocker.java
index d7a406a..36497d1 100644
--- a/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/DefaultDatabaseLocker.java
+++ b/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/DefaultDatabaseLocker.java
@@ -143,7 +143,7 @@ public class DefaultDatabaseLocker extends AbstractJDBCLocker {
try {
connection.rollback();
} catch (SQLException sqle) {
- LOG.warn("Exception while rollbacking the connection on shutdown. This exception is ignored.", sqle);
+ LOG.debug("Exception while rollbacking the connection on shutdown. This exception is ignored.", sqle);
} finally {
try {
connection.close();
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapter.java
----------------------------------------------------------------------
diff --git a/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapter.java b/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapter.java
index 4236e9d..23b5cfa 100755
--- a/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapter.java
+++ b/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapter.java
@@ -336,6 +336,7 @@ public class JDBCPersistenceAdapter extends DataSourceServiceSupport implements
cleanupTicket.cancel(true);
cleanupTicket = null;
}
+ closeDataSource(getDataSource());
}
public void cleanup() {
@@ -408,15 +409,14 @@ public class JDBCPersistenceAdapter extends DataSourceServiceSupport implements
throw new IllegalArgumentException(
"No dataSource property has been configured");
}
- } else {
- LOG.info("Using a separate dataSource for locking: "
- + lockDataSource);
}
return lockDataSource;
}
public void setLockDataSource(DataSource dataSource) {
this.lockDataSource = dataSource;
+ LOG.info("Using a separate dataSource for locking: "
+ + lockDataSource);
}
@Override
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/broker/AMQ4351Test.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/AMQ4351Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/AMQ4351Test.java
index ce7ed3d..0b0e5cc 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/AMQ4351Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/AMQ4351Test.java
@@ -63,11 +63,6 @@ public class AMQ4351Test extends BrokerTestSupport {
System.setProperty("derby.system.home", new File(IOHelper.getDefaultDataDirectory()).getCanonicalPath());
JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
- EmbeddedDataSource dataSource = new EmbeddedDataSource();
- dataSource.setDatabaseName("derbyDb");
- dataSource.setCreateDatabase("create");
- jdbc.setDataSource(dataSource);
-
jdbc.deleteAllMessages();
broker.setPersistenceAdapter(jdbc);
return broker;
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/broker/ft/DbRestartJDBCQueueTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/ft/DbRestartJDBCQueueTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/ft/DbRestartJDBCQueueTest.java
index 9b21c44..6064efb 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/ft/DbRestartJDBCQueueTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/ft/DbRestartJDBCQueueTest.java
@@ -33,6 +33,7 @@ import org.apache.activemq.store.jdbc.JDBCPersistenceAdapter;
import org.apache.activemq.util.DefaultIOExceptionHandler;
import org.apache.activemq.util.IOHelper;
import org.apache.derby.jdbc.EmbeddedDataSource;
+import org.junit.After;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -79,6 +80,10 @@ public class DbRestartJDBCQueueTest extends JmsTopicSendReceiveWithTwoConnection
broker.stop();
}
+ @After
+ public void shutDownDerby() {
+ DataSourceServiceSupport.shutdownDefaultDataSource(sharedDs);
+ }
protected Session createSendSession(Connection sendConnection) throws Exception {
if (transactedSends) {
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/broker/ft/JDBCQueueMasterSlaveTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/ft/JDBCQueueMasterSlaveTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/ft/JDBCQueueMasterSlaveTest.java
index c7b0ec6..0547b7c 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/ft/JDBCQueueMasterSlaveTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/ft/JDBCQueueMasterSlaveTest.java
@@ -35,7 +35,7 @@ import org.apache.activemq.util.IOHelper;
import org.apache.derby.jdbc.EmbeddedDataSource;
public class JDBCQueueMasterSlaveTest extends QueueMasterSlaveTestSupport {
- protected DataSource sharedDs;
+ protected SyncCreateDataSource sharedDs;
protected String MASTER_URL = "tcp://localhost:62001";
protected String SLAVE_URL = "tcp://localhost:62002";
@@ -45,6 +45,11 @@ public class JDBCQueueMasterSlaveTest extends QueueMasterSlaveTestSupport {
super.setUp();
}
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ DataSourceServiceSupport.shutdownDefaultDataSource(sharedDs.delegate);
+ }
+
protected void createMaster() throws Exception {
master = new BrokerService();
master.setBrokerName("master");
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4636Test.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4636Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4636Test.java
index 014d86a..9b397b0 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4636Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4636Test.java
@@ -78,15 +78,8 @@ public class AMQ4636Test {
broker.stop();
broker.waitUntilStopped();
}
- try {
- if (embeddedDataSource != null) {
- // ref http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/junit/JDBCDataSource.java?view=markup
- embeddedDataSource.setShutdownDatabase("shutdown");
- embeddedDataSource.getConnection();
- }
- } catch (Exception ignored) {
- } finally {
- embeddedDataSource.setShutdownDatabase(null);
+ if (embeddedDataSource != null) {
+ DataSourceServiceSupport.shutdownDefaultDataSource(embeddedDataSource);
}
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4952Test.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4952Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4952Test.java
index dd26e81..cc16b75 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4952Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4952Test.java
@@ -55,6 +55,7 @@ import org.apache.activemq.command.ActiveMQDestination;
import org.apache.activemq.command.ActiveMQQueue;
import org.apache.activemq.network.ConditionalNetworkBridgeFilterFactory;
import org.apache.activemq.network.NetworkConnector;
+import org.apache.activemq.store.jdbc.DataSourceServiceSupport;
import org.apache.activemq.store.jdbc.JDBCPersistenceAdapter;
import org.apache.activemq.util.IOHelper;
import org.apache.activemq.util.IntrospectionSupport;
@@ -275,13 +276,19 @@ public class AMQ4952Test {
protected void doTearDown() throws Exception {
+ DataSource dataSource = ((JDBCPersistenceAdapter)producerBroker.getPersistenceAdapter()).getDataSource();
try {
producerBroker.stop();
} catch (Exception ex) {
+ } finally {
+ DataSourceServiceSupport.shutdownDefaultDataSource(dataSource);
}
+ dataSource = ((JDBCPersistenceAdapter)consumerBroker.getPersistenceAdapter()).getDataSource();
try {
consumerBroker.stop();
} catch (Exception ex) {
+ } finally {
+ DataSourceServiceSupport.shutdownDefaultDataSource(dataSource);
}
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TrapMessageInJDBCStoreTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TrapMessageInJDBCStoreTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TrapMessageInJDBCStoreTest.java
index 688d066..c073646 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TrapMessageInJDBCStoreTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TrapMessageInJDBCStoreTest.java
@@ -73,7 +73,6 @@ public class TrapMessageInJDBCStoreTest extends TestCase {
broker.setUseJmx(withJMX);
EmbeddedDataSource embeddedDataSource = (EmbeddedDataSource) DataSourceServiceSupport.createDataSource(IOHelper.getDefaultDataDirectory());
- embeddedDataSource.setCreateDatabase("create");
//wire in a TestTransactionContext (wrapper to TransactionContext) that has an executeBatch()
// method that can be configured to throw a SQL exception on demand
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/store/MessagePriorityTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/MessagePriorityTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/MessagePriorityTest.java
index 521c899..c6b6324 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/MessagePriorityTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/MessagePriorityTest.java
@@ -563,7 +563,7 @@ abstract public class MessagePriorityTest extends CombinationTestSupport {
}
public void testQueueBacklog() throws Exception {
- final int backlog = 180000;
+ final int backlog = 18000;
ActiveMQQueue queue = (ActiveMQQueue)sess.createQueue("TEST");
ProducerThread lowPri = new ProducerThread(queue, backlog, LOW_PRI);
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCCommitExceptionTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCCommitExceptionTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCCommitExceptionTest.java
index e183553..05e7208 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCCommitExceptionTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCCommitExceptionTest.java
@@ -47,8 +47,6 @@ public class JDBCCommitExceptionTest extends TestCase {
protected ActiveMQConnectionFactory factory;
protected BrokerService broker;
protected String connectionUri;
- protected EmbeddedDataSource dataSource;
- protected java.sql.Connection dbConnection;
protected BrokenPersistenceAdapter jdbc;
@Override
@@ -155,11 +153,6 @@ public class JDBCCommitExceptionTest extends TestCase {
BrokerService broker = new BrokerService();
jdbc = new BrokenPersistenceAdapter();
- dataSource = new EmbeddedDataSource();
- dataSource.setDatabaseName("target/derbyDb");
- dataSource.setCreateDatabase("create");
-
- jdbc.setDataSource(dataSource);
jdbc.setUseLock(false);
jdbc.deleteAllMessages();
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCIOExceptionHandlerTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCIOExceptionHandlerTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCIOExceptionHandlerTest.java
index 6ad2f03..20c6986 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCIOExceptionHandlerTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCIOExceptionHandlerTest.java
@@ -31,6 +31,7 @@ import org.apache.activemq.util.IOHelper;
import org.apache.activemq.util.LeaseLockerIOExceptionHandler;
import org.apache.activemq.util.Wait;
import org.apache.derby.jdbc.EmbeddedDataSource;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
@@ -51,14 +52,15 @@ public class JDBCIOExceptionHandlerTest {
private static final Logger LOG = LoggerFactory.getLogger(JDBCIOExceptionHandlerTest.class);
private static final String TRANSPORT_URL = "tcp://0.0.0.0:0";
- private static final String DATABASE_NAME = "DERBY_OVERRIDE";
private ActiveMQConnectionFactory factory;
private ReconnectingEmbeddedDataSource dataSource;
private BrokerService broker;
- @Before
- public void dbHomeSysProp() throws Exception {
- System.setProperty("derby.system.home", new File(IOHelper.getDefaultDataDirectory()).getCanonicalPath());
+ @After
+ public void stopDB() {
+ if (dataSource != null) {
+ dataSource.stopDB();
+ }
}
protected BrokerService createBroker(boolean withJMX) throws Exception {
@@ -71,15 +73,11 @@ public class JDBCIOExceptionHandlerTest {
broker.setUseJmx(withJMX);
- EmbeddedDataSource embeddedDataSource = new EmbeddedDataSource();
- embeddedDataSource.setDatabaseName(DATABASE_NAME);
- embeddedDataSource.setCreateDatabase("create");
-
+ JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
+ EmbeddedDataSource embeddedDataSource = (EmbeddedDataSource) jdbc.getDataSource();
// create a wrapper to EmbeddedDataSource to allow the connection be
// reestablished to derby db
dataSource = new ReconnectingEmbeddedDataSource(embeddedDataSource);
-
- JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
jdbc.setDataSource(dataSource);
jdbc.setLockKeepAlivePeriod(1000l);
@@ -310,23 +308,17 @@ public class JDBCIOExceptionHandlerTest {
*
* @throws SQLException
*/
- public void restartDB() throws SQLException {
- EmbeddedDataSource newDatasource = new EmbeddedDataSource();
- newDatasource.setDatabaseName(DATABASE_NAME);
+ public void restartDB() throws Exception {
+ EmbeddedDataSource newDatasource =
+ (EmbeddedDataSource) DataSourceServiceSupport.createDataSource(broker.getDataDirectoryFile().getCanonicalPath());
newDatasource.getConnection();
LOG.info("*** DB restarted now...");
this.realDatasource = newDatasource;
}
public void stopDB() {
- try {
- realDatasource.setShutdownDatabase("shutdown");
- LOG.info("***DB is being shutdown...");
- dataSource.getConnection();
- fail("should have thrown a db closed exception");
- } catch (Exception ex) {
- ex.printStackTrace(System.out);
- }
+ LOG.info("***DB is being shutdown...");
+ DataSourceServiceSupport.shutdownDefaultDataSource(realDatasource);
}
public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCMessagePriorityTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCMessagePriorityTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCMessagePriorityTest.java
index 34796a4..de171fc 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCMessagePriorityTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCMessagePriorityTest.java
@@ -34,6 +34,7 @@ import javax.jms.Session;
import javax.jms.TextMessage;
import javax.jms.TopicSubscriber;
+import javax.sql.DataSource;
import junit.framework.Test;
import org.apache.activemq.command.ActiveMQMessage;
@@ -48,39 +49,19 @@ import org.slf4j.LoggerFactory;
public class JDBCMessagePriorityTest extends MessagePriorityTest {
private static final Logger LOG = LoggerFactory.getLogger(JDBCMessagePriorityTest.class);
- EmbeddedDataSource dataSource;
+ DataSource dataSource;
JDBCPersistenceAdapter jdbc;
@Override
protected PersistenceAdapter createPersistenceAdapter(boolean delete) throws Exception {
jdbc = new JDBCPersistenceAdapter();
- dataSource = new EmbeddedDataSource();
- dataSource.setDatabaseName("derbyDb");
- dataSource.setCreateDatabase("create");
- dataSource.setShutdownDatabase(null);
- jdbc.setDataSource(dataSource);
+ dataSource = jdbc.getDataSource();
jdbc.deleteAllMessages();
jdbc.setCleanupPeriod(2000);
return jdbc;
}
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- try {
- if (dataSource != null) {
- // ref http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/junit/JDBCDataSource.java?view=markup
- dataSource.setShutdownDatabase("shutdown");
- dataSource.getConnection();
- }
- } catch (Exception ignored) {
- } finally {
- dataSource.setShutdownDatabase(null);
- }
-
- }
-
// this cannot be a general test as kahaDB just has support for 3 priority levels
public void testDurableSubsReconnectWithFourLevels() throws Exception {
ActiveMQTopic topic = (ActiveMQTopic) sess.createTopic("TEST");
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCNegativeQueueTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCNegativeQueueTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCNegativeQueueTest.java
index 0a2ca1d..52c5129 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCNegativeQueueTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCNegativeQueueTest.java
@@ -35,7 +35,6 @@ public class JDBCNegativeQueueTest extends NegativeQueueTest {
protected void configureBroker(BrokerService answer) throws Exception {
super.configureBroker(answer);
JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
- jdbc.setDataSource(dataSource);
answer.setPersistenceAdapter(jdbc);
dataSource = jdbc.getDataSource();
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCNetworkBrokerDetachTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCNetworkBrokerDetachTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCNetworkBrokerDetachTest.java
index 409b20f..8a011fc 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCNetworkBrokerDetachTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCNetworkBrokerDetachTest.java
@@ -24,10 +24,8 @@ public class JDBCNetworkBrokerDetachTest extends NetworkBrokerDetachTest {
protected void configureBroker(BrokerService broker) throws Exception {
JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
- EmbeddedDataSource dataSource = new EmbeddedDataSource();
+ EmbeddedDataSource dataSource = (EmbeddedDataSource) jdbc.getDataSource();
dataSource.setDatabaseName(broker.getBrokerName());
- dataSource.setCreateDatabase("create");
- jdbc.setDataSource(dataSource);
jdbc.deleteAllMessages();
broker.setPersistenceAdapter(jdbc);
broker.setUseVirtualTopics(false);
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapterTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapterTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapterTest.java
index ce539d2..116e955 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapterTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapterTest.java
@@ -22,7 +22,6 @@ import junit.framework.AssertionFailedError;
import org.apache.activemq.store.PersistenceAdapter;
import org.apache.activemq.store.PersistenceAdapterTestSupport;
-import org.apache.derby.jdbc.EmbeddedDataSource;
public class JDBCPersistenceAdapterTest extends PersistenceAdapterTestSupport {
@@ -35,11 +34,6 @@ public class JDBCPersistenceAdapterTest extends PersistenceAdapterTestSupport {
brokerService.setSchedulerSupport(false);
brokerService.setPersistenceAdapter(jdbc);
- jdbc.setBrokerService(brokerService);
- EmbeddedDataSource dataSource = new EmbeddedDataSource();
- dataSource.setDatabaseName("derbyDb");
- dataSource.setCreateDatabase("create");
- jdbc.setDataSource(dataSource);
if( delete ) {
jdbc.deleteAllMessages();
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreAutoCommitTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreAutoCommitTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreAutoCommitTest.java
index b9e6e98..a3f571f 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreAutoCommitTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreAutoCommitTest.java
@@ -47,6 +47,7 @@ import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
+import javax.sql.DataSource;
import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.broker.BrokerService;
@@ -137,22 +138,21 @@ public class JDBCStoreAutoCommitTest {
c1.close();
broker.stop();
broker.waitUntilStopped();
+ if (realDataSource != null) {
+ DataSourceServiceSupport.shutdownDefaultDataSource(realDataSource);
+ }
}
}
+ DataSource realDataSource;
private BrokerService createBrokerService() throws IOException {
BrokerService broker = new BrokerService();
broker.setBrokerName(BROKER_NAME);
broker.setUseJmx(false);
JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
- EmbeddedDataSource embeddedDataSource = new EmbeddedDataSource();
- embeddedDataSource.setDatabaseName("derbyDb");
- embeddedDataSource.setCreateDatabase("create");
-
- javax.sql.DataSource wrappedDataSource = new TestDataSource(embeddedDataSource);
-
- jdbc.setDataSource(wrappedDataSource);
+ realDataSource = jdbc.getDataSource();
+ jdbc.setDataSource(new TestDataSource(realDataSource));
broker.setPersistenceAdapter(jdbc);
return broker;
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreBrokerTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreBrokerTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreBrokerTest.java
index 6e78927..c19516f 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreBrokerTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreBrokerTest.java
@@ -27,24 +27,14 @@ public class JDBCStoreBrokerTest extends BrokerTest {
protected BrokerService createBroker() throws Exception {
BrokerService broker = new BrokerService();
JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
- EmbeddedDataSource dataSource = new EmbeddedDataSource();
- dataSource.setDatabaseName("derbyDb");
- dataSource.setCreateDatabase("create");
- jdbc.setDataSource(dataSource);
-
jdbc.deleteAllMessages();
broker.setPersistenceAdapter(jdbc);
return broker;
}
- protected BrokerService createRestartedBroker() throws Exception {
+ protected BrokerService x_createRestartedBroker() throws Exception {
BrokerService broker = new BrokerService();
- JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
- EmbeddedDataSource dataSource = new EmbeddedDataSource();
- dataSource.setDatabaseName("derbyDb");
- dataSource.setCreateDatabase("create");
- jdbc.setDataSource(dataSource);
- broker.setPersistenceAdapter(jdbc);
+ broker.setPersistenceAdapter(new JDBCPersistenceAdapter());
return broker;
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreOrderTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreOrderTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreOrderTest.java
index 4d3ac55..dd9c541 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreOrderTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCStoreOrderTest.java
@@ -52,12 +52,7 @@ public class JDBCStoreOrderTest extends StoreOrderTest {
@Override
protected void setPersistentAdapter(BrokerService brokerService)
throws Exception {
- JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
- EmbeddedDataSource dataSource = new EmbeddedDataSource();
- dataSource.setDatabaseName("derbyDb");
- dataSource.setCreateDatabase("create");
- jdbc.setDataSource(dataSource);
- brokerService.setPersistenceAdapter(jdbc);
+ brokerService.setPersistenceAdapter(new JDBCPersistenceAdapter());
}
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCTablePrefixAssignedTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCTablePrefixAssignedTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCTablePrefixAssignedTest.java
index 06f623f..4484c17 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCTablePrefixAssignedTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCTablePrefixAssignedTest.java
@@ -112,10 +112,6 @@ public class JDBCTablePrefixAssignedTest {
protected BrokerService createBroker() throws Exception {
BrokerService broker = new BrokerService();
JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
- EmbeddedDataSource dataSource = new EmbeddedDataSource();
- dataSource.setDatabaseName("derbyDb");
- dataSource.setCreateDatabase("create");
-
DefaultJDBCAdapter adapter = new DefaultJDBCAdapter();
jdbc.setAdapter(adapter);
@@ -124,7 +120,6 @@ public class JDBCTablePrefixAssignedTest {
jdbc.setStatements(statements);
jdbc.setUseLock(false);
- jdbc.setDataSource(dataSource);
jdbc.deleteAllMessages();
broker.setPersistenceAdapter(jdbc);
return broker;
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCTestMemory.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCTestMemory.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCTestMemory.java
index e8bda07..7ed3eb0 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCTestMemory.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCTestMemory.java
@@ -53,11 +53,6 @@ public class JDBCTestMemory extends TestCase {
BrokerService broker = new BrokerService();
broker.setUseJmx(true);
JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
- EmbeddedDataSource dataSource = new EmbeddedDataSource();
- dataSource.setDatabaseName("derbyDb");
- dataSource.setCreateDatabase("create");
- jdbc.setDataSource(dataSource);
-
jdbc.deleteAllMessages();
broker.setPersistenceAdapter(jdbc);
broker.addConnector("tcp://0.0.0.0:61616");
@@ -68,10 +63,6 @@ public class JDBCTestMemory extends TestCase {
BrokerService broker = new BrokerService();
broker.setUseJmx(true);
JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
- EmbeddedDataSource dataSource = new EmbeddedDataSource();
- dataSource.setDatabaseName("derbyDb");
- dataSource.setCreateDatabase("create");
- jdbc.setDataSource(dataSource);
broker.setPersistenceAdapter(jdbc);
broker.addConnector("tcp://0.0.0.0:61616");
return broker;
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/LeaseDatabaseLockerTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/LeaseDatabaseLockerTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/LeaseDatabaseLockerTest.java
index 774d172..9d69f95 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/LeaseDatabaseLockerTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/LeaseDatabaseLockerTest.java
@@ -27,6 +27,7 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
+import javax.sql.DataSource;
import org.apache.activemq.broker.AbstractLocker;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter;
@@ -35,6 +36,7 @@ import org.apache.derby.jdbc.EmbeddedDataSource;
import org.jmock.Expectations;
import org.jmock.Mockery;
import org.jmock.lib.legacy.ClassImposteriser;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
@@ -51,20 +53,22 @@ public class LeaseDatabaseLockerTest {
JDBCPersistenceAdapter jdbc;
BrokerService brokerService;
- EmbeddedDataSource dataSource;
+ DataSource dataSource;
@Before
public void setUpStore() throws Exception {
- dataSource = new EmbeddedDataSource();
- dataSource.setDatabaseName("derbyDb");
- dataSource.setCreateDatabase("create");
jdbc = new JDBCPersistenceAdapter();
- jdbc.setDataSource(dataSource);
+ dataSource = jdbc.getDataSource();
brokerService = new BrokerService();
jdbc.setBrokerService(brokerService);
jdbc.getAdapter().doCreateTables(jdbc.getTransactionContext());
}
+ @After
+ public void stopDerby() {
+ DataSourceServiceSupport.shutdownDefaultDataSource(dataSource);
+ }
+
@Test
public void testLockInterleave() throws Exception {
http://git-wip-us.apache.org/repos/asf/activemq/blob/165959e2/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/JDBCDurableSubscriptionTest.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/JDBCDurableSubscriptionTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/JDBCDurableSubscriptionTest.java
index 33afc85..bc4215d 100755
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/JDBCDurableSubscriptionTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/JDBCDurableSubscriptionTest.java
@@ -29,10 +29,6 @@ public class JDBCDurableSubscriptionTest extends DurableSubscriptionTestSupport
protected PersistenceAdapter createPersistenceAdapter() throws IOException {
JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
- EmbeddedDataSource dataSource = new EmbeddedDataSource();
- dataSource.setDatabaseName("derbyDb");
- dataSource.setCreateDatabase("create");
- jdbc.setDataSource(dataSource);
jdbc.setCleanupPeriod(1000); // set up small cleanup period
return jdbc;
}