activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chir...@apache.org
Subject svn commit: r821115 - in /activemq/trunk/activemq-core/src: main/java/org/apache/activemq/store/kahadb/ test/java/org/apache/activemq/store/ test/java/org/apache/activemq/store/jdbc/
Date Fri, 02 Oct 2009 17:59:38 GMT
Author: chirino
Date: Fri Oct  2 17:59:38 2009
New Revision: 821115

URL: http://svn.apache.org/viewvc?rev=821115&view=rev
Log:
AMQ-2439: Adding test cases for JDBC too.


Added:
    activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapterTest.java
Modified:
    activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java
    activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/PersistenceAdapterTestSupport.java

Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java?rev=821115&r1=821114&r2=821115&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java
(original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/MessageDatabase.java
Fri Oct  2 17:59:38 2009
@@ -833,9 +833,7 @@
             } else {
                 // If the message ID as indexed, then the broker asked us to store a DUP
                 // message.  Bad BOY!  Don't do it, and log a warning.
-
-                LOG.warn("Duplicate message add attempt rejected. Message id: "+command.getMessageId()+",
on: "+command.getDestination());
-                
+                LOG.warn("Duplicate message add attempt rejected. Message id: "+command.getMessageId());
                 // TODO: consider just rolling back the tx.
                 sd.messageIdIndex.put(tx, command.getMessageId(), previous);
             }

Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/PersistenceAdapterTestSupport.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/PersistenceAdapterTestSupport.java?rev=821115&r1=821114&r2=821115&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/PersistenceAdapterTestSupport.java
(original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/PersistenceAdapterTestSupport.java
Fri Oct  2 17:59:38 2009
@@ -54,15 +54,21 @@
 
         
         MessageStore ms = pa.createQueueMessageStore(new ActiveMQQueue("TEST"));
+        ConnectionContext context = new ConnectionContext();
 
         ActiveMQTextMessage message = new ActiveMQTextMessage();
         message.setText("test");
-        message.setMessageId(new MessageId("ID:localhost-56913-1254499826208-0:0:1:1:1"));
-        ConnectionContext context = new ConnectionContext();
-
+        MessageId messageId = new MessageId("ID:localhost-56913-1254499826208-0:0:1:1:1");
+        messageId.setBrokerSequenceId(1);
+        message.setMessageId(messageId);
         ms.addMessage(context, message);
 
         // here comes the dup...
+        message = new ActiveMQTextMessage();
+        message.setText("test");
+        messageId = new MessageId("ID:localhost-56913-1254499826208-0:0:1:1:1");
+        messageId.setBrokerSequenceId(2);
+        message.setMessageId(messageId);
         ms.addMessage(context, message);
 
         final AtomicInteger recovered = new AtomicInteger();
@@ -85,7 +91,6 @@
                 return true;
             }
         });
-        
         assertEquals(1, recovered.get());
 
     }

Added: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapterTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapterTest.java?rev=821115&view=auto
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapterTest.java
(added)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapterTest.java
Fri Oct  2 17:59:38 2009
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.store.jdbc;
+
+import java.io.IOException;
+
+import junit.framework.AssertionFailedError;
+
+import org.apache.activemq.store.PersistenceAdapter;
+import org.apache.activemq.store.PersistenceAdapterTestSupport;
+import org.apache.derby.jdbc.EmbeddedDataSource;
+
+/**
+ * 
+ * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
+ */
+public class JDBCPersistenceAdapterTest extends PersistenceAdapterTestSupport {
+    
+    protected PersistenceAdapter createPersistenceAdapter(boolean delete) throws IOException
{
+        JDBCPersistenceAdapter jdbc = new JDBCPersistenceAdapter();
+        EmbeddedDataSource dataSource = new EmbeddedDataSource();
+        dataSource.setDatabaseName("derbyDb");
+        dataSource.setCreateDatabase("create");
+        jdbc.setDataSource(dataSource);
+        if( delete ) {
+            jdbc.deleteAllMessages();
+        }
+        return jdbc;
+    }
+    
+    @Override
+    public void testStoreCanHandleDupMessages() throws Exception {
+        try {
+            super.testStoreCanHandleDupMessages();
+            fail("We expect this test to fail as it would be too expensive to add additional
" +
+                 "unique constraints in the JDBC implementation to detect the duplicate messages.");
+        } catch (AssertionFailedError expected) {
+        }
+    }
+    
+}



Mime
View raw message