Index: src/main/java/org/apache/tuscany/sca/binding/jms/OneWayServiceImpl.java
===================================================================
--- src/main/java/org/apache/tuscany/sca/binding/jms/OneWayServiceImpl.java	(revision 718864)
+++ src/main/java/org/apache/tuscany/sca/binding/jms/OneWayServiceImpl.java	(working copy)
@@ -1,32 +1,35 @@
 /*
- * 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
+ * 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
+ * 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.    
+ * 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.tuscany.sca.binding.jms;
 
+import edu.emory.mathcs.backport.java.util.concurrent.atomic.AtomicInteger;
+
 public class OneWayServiceImpl implements OneWayService {
 
+    public static AtomicInteger theInvocationCounter = new AtomicInteger( 0 );
+
     public static Object mutex = new Object();
     public static String name;
-    
-    public void sayHello(String name) {
+
+    public void sayHello( String name ) {
         OneWayServiceImpl.name = name;
-        synchronized (OneWayServiceImpl.mutex) {
+        theInvocationCounter.incrementAndGet();
+        synchronized ( OneWayServiceImpl.mutex ) {
             OneWayServiceImpl.mutex.notify();
         }
     }
Index: src/main/resources/jndi.properties
===================================================================
--- src/main/resources/jndi.properties	(revision 718864)
+++ src/main/resources/jndi.properties	(working copy)
@@ -5,9 +5,9 @@
 ## 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.
@@ -23,7 +23,7 @@
 java.naming.provider.url = vm://localhost?broker.persistent=false&broker.useJmx=false
 
 # use the following property to specify the JNDI name the connection factory
-# should appear as. 
+# should appear as.
 #connectionFactoryNames = connectionFactory, queueConnectionFactory, topicConnectionFactry
 connectionFactoryNames = ConnectionFactory
 
@@ -33,6 +33,6 @@
 # register some topics in JNDI using the form
 # topic.[jndiName] = [physicalName]
 #topic.MyTopic = example.MyTopic
-topic.MyTopic = example.MyTopic
+#topic.MyTopic = example.MyTopic
 
 # END SNIPPET: jndi
Index: src/main/resources/topics/TopicsClient.composite
===================================================================
--- src/main/resources/topics/TopicsClient.composite	(revision 718864)
+++ src/main/resources/topics/TopicsClient.composite	(working copy)
@@ -28,7 +28,7 @@
     <reference name="serviceA" promote="OneWayClient/serviceA">
         <interface.java interface="org.apache.tuscany.sca.binding.jms.OneWayService" />
         <binding.jms>
-            <destination name="MyTopic" type="topic" create="never"/>
+            <destination name="MyTopic" type="topic" create="always"/>
         </binding.jms>  
     </reference>
 
Index: src/main/resources/topics/TopicsService.composite
===================================================================
--- src/main/resources/topics/TopicsService.composite	(revision 718864)
+++ src/main/resources/topics/TopicsService.composite	(working copy)
@@ -24,7 +24,7 @@
         <implementation.java class="org.apache.tuscany.sca.binding.jms.OneWayServiceImpl"/>
         <service name="OneWayService">
             <binding.jms>
-               <destination name="MyTopic" type="topic" create="never"/>
+               <destination name="MyTopic" type="topic" create="always"/>
             </binding.jms>  
         </service> 
     </component>       
Index: src/test/java/org/apache/tuscany/sca/binding/jms/TopicsTestCase.java
===================================================================
--- src/test/java/org/apache/tuscany/sca/binding/jms/TopicsTestCase.java	(revision 718864)
+++ src/test/java/org/apache/tuscany/sca/binding/jms/TopicsTestCase.java	(working copy)
@@ -1,20 +1,18 @@
 /*
- * 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
+ * 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
+ * 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.    
+ * 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.tuscany.sca.binding.jms;
 
@@ -30,29 +28,54 @@
  */
 public class TopicsTestCase {
 
-    private static SCADomain scaDomain;
+    private static SCADomain scaDomainOne;
+    private static SCADomain scaDomainTwo;
 
     @Before
     public void init() {
-        scaDomain = SCADomain.newInstance("http://localhost", "/", "topics/TopicsClient.composite", "topics/TopicsService.composite");
+        scaDomainOne = SCADomain.newInstance( "http://localhost", "/", "topics/TopicsClient.composite",
+                "topics/TopicsService.composite" );
+        scaDomainTwo = SCADomain.newInstance( "http://localhost", "/", "topics/TopicsClient.composite",
+                "topics/TopicsService.composite" );
     }
 
     @Test
     public void testOneWayInvoked() throws Exception {
-        OneWayService oneWayService = scaDomain.getService(OneWayService.class, "OneWayClient");
-        oneWayService.sayHello("Petra");
-        synchronized (OneWayServiceImpl.mutex) {
-            // wait up to 10 seconds but it will likely be a lot less 
-            // as the service invocation will wake this up earlier 
-            OneWayServiceImpl.mutex.wait(10000);
+        OneWayService oneWayService = scaDomainOne.getService( OneWayService.class, "OneWayClient" );
+        oneWayService.sayHello( "Petra" );
+        synchronized ( OneWayServiceImpl.mutex ) {
+            // wait up to 10 seconds but it will likely be a lot less
+            // as the service invocation will wake this up earlier
+            OneWayServiceImpl.mutex.wait( 10000 );
         }
-        assertEquals("Petra", OneWayServiceImpl.name);
+        assertEquals( "Petra", OneWayServiceImpl.name );
     }
 
+    @Test
+    public void testTopicIsUsed() throws Exception {
+        // Since we have two servers running, any service call should result in
+        // two invocations if a topic is really being used. In case of a queue,
+        // the message would only be distributed to one server.
+
+        // reset the invocation counter
+        OneWayServiceImpl.theInvocationCounter.set( 0 );
+        OneWayService oneWayService = scaDomainOne.getService( OneWayService.class, "OneWayClient" );
+        oneWayService.sayHello( "Petra" );
+        synchronized ( OneWayServiceImpl.mutex ) {
+            // now we have to wait twice!
+            OneWayServiceImpl.mutex.wait( 10000 );
+            OneWayServiceImpl.mutex.wait( 10000 );
+        }
+        assertEquals( 2, OneWayServiceImpl.theInvocationCounter.get() );
+    }
+
     @After
     public void end() {
-        if (scaDomain != null) {
-            scaDomain.close();
+        if ( scaDomainOne != null ) {
+            scaDomainOne.close();
         }
+        if ( scaDomainTwo != null ) {
+            scaDomainTwo.close();
+        }
     }
 }
