Test exception in handler
diff --git a/org.apache.aries.events.memory/src/main/java/org/apache/aries/events/memory/Topic.java b/org.apache.aries.events.memory/src/main/java/org/apache/aries/events/memory/Topic.java
index b6e2348..e9175a4 100644
--- a/org.apache.aries.events.memory/src/main/java/org/apache/aries/events/memory/Topic.java
+++ b/org.apache.aries.events.memory/src/main/java/org/apache/aries/events/memory/Topic.java
@@ -99,6 +99,7 @@
                     try {
                         Thread.sleep(100);
                     } catch (InterruptedException e) {
+                        // Ignore
                     }
                 }
             }
diff --git a/org.apache.aries.events.memory/src/test/java/org/apache/aries/events/memory/MessagingTest.java b/org.apache.aries.events.memory/src/test/java/org/apache/aries/events/memory/MessagingTest.java
index b805094..62d88c0 100644
--- a/org.apache.aries.events.memory/src/test/java/org/apache/aries/events/memory/MessagingTest.java
+++ b/org.apache.aries.events.memory/src/test/java/org/apache/aries/events/memory/MessagingTest.java
@@ -2,8 +2,9 @@
 
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.Matchers.contains;
-import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.timeout;
 import static org.mockito.Mockito.verify;
 import static org.mockito.MockitoAnnotations.initMocks;
@@ -29,6 +30,7 @@
 import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
 import org.mockito.Mock;
+import org.mockito.Mockito;
 
 public class MessagingTest {
     
@@ -56,7 +58,8 @@
     @Test
     public void testPositionFromString() {
         Position pos = messaging.positionFromString("1");
-        assertEquals(0, pos.compareTo(new MemoryPosition(1)));
+        assertThat(pos.compareTo(new MemoryPosition(1)), equalTo(0));
+        assertThat(pos.positionToString(), equalTo("1"));
     }
     
     @Test
@@ -73,9 +76,17 @@
     }
     
     @Test(expected=IllegalArgumentException.class)
-    public void testInvalid() {
+    public void testInvalidSubscribe() {
         messaging.subscribe("test", null, null, callback);
     }
+    
+    @Test
+    public void testExceptionInHandler() {
+        doThrow(new RuntimeException("Expected exception")).when(callback).accept(Mockito.any(Received.class));
+        subscriptions.add(messaging.subscribe("test", null, Seek.earliest, callback));
+        send("test", "testcontent");
+        verify(callback, timeout(1000)).accept(messageCaptor.capture());
+    }
 
     @Test
     public void testEarliestBefore() {