You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/09/06 18:02:29 UTC
svn commit: r573307 - in /activemq/camel/trunk:
camel-core/src/test/java/org/apache/camel/
camel-core/src/test/java/org/apache/camel/builder/xml/
camel-core/src/test/java/org/apache/camel/issues/
camel-core/src/test/java/org/apache/camel/processor/ com...
Author: jstrachan
Date: Thu Sep 6 09:02:28 2007
New Revision: 573307
URL: http://svn.apache.org/viewvc?rev=573307&view=rev
Log:
more refactorings of the test cases to further simplify them. Also made the SpringTestSupport derive from the ContextTestSupport so we can reuse all of the helper methods on ContextTestSupport
Modified:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/xml/XsltTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/NeilSplitterTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathWithNamespaceBuilderFilterTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathWithNamespacesFilterTest.java
activemq/camel/trunk/components/camel-activemq/src/test/java/org/apache/camel/component/activemq/ActiveMQConfigureTest.java
activemq/camel/trunk/components/camel-activemq/src/test/java/org/apache/camel/component/activemq/JournalConfigureTest.java
activemq/camel/trunk/components/camel-bam/src/test/java/org/apache/camel/bam/BamRouteTest.java
activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/TransactedJmsRouteTest.java
activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailRouteTest.java
activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/EndpointReferenceTest.java
activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/SpringTestSupport.java
activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/bind/ProcessorAsEndpointTest.java
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/ContextTestSupport.java Thu Sep 6 09:02:28 2007
@@ -16,19 +16,19 @@
*/
package org.apache.camel;
+import javax.naming.Context;
+
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.spi.Language;
import org.apache.camel.util.jndi.JndiTest;
-import org.apache.camel.component.mock.MockEndpoint;
-
-import javax.naming.Context;
/**
* A useful base class which creates a {@link CamelContext} with some routes
* along with a {@link CamelTemplate} for use in the test case
- *
+ *
* @version $Revision: 1.1 $
*/
public abstract class ContextTestSupport extends TestSupport {
@@ -61,21 +61,20 @@
@Override
protected void setUp() throws Exception {
context = createCamelContext();
+ assertValidContext(context);
+
template = new CamelTemplate<Exchange>(context);
if (useRouteBuilder) {
RouteBuilder builder = createRouteBuilder();
log.debug("Using created route builder: " + builder);
context.addRoutes(builder);
- } else {
+ }
+ else {
log.debug("Using route builder from the created context: " + context);
}
- if (camelContextService != null) {
- camelContextService.start();
- } else {
- context.start();
- }
+ startCamelContext();
log.debug("Routing Rules are: " + context.getRoutes());
}
@@ -84,13 +83,35 @@
protected void tearDown() throws Exception {
log.debug("tearDown test: " + getName());
template.stop();
+ stopCamelContext();
+ }
+
+ protected void stopCamelContext() throws Exception {
if (camelContextService != null) {
camelContextService.stop();
- } else {
+ }
+ else {
context.stop();
}
}
+ protected void startCamelContext() throws Exception {
+ if (camelContextService != null) {
+ camelContextService.start();
+ }
+ else {
+ if (context instanceof DefaultCamelContext) {
+ DefaultCamelContext defaultCamelContext = (DefaultCamelContext) context;
+ if (!defaultCamelContext.isStarted()) {
+ defaultCamelContext.start();
+ }
+ }
+ else {
+ context.start();
+ }
+ }
+ }
+
protected CamelContext createCamelContext() throws Exception {
return new DefaultCamelContext(createRegistry());
}
@@ -145,12 +166,11 @@
return resolveMandatoryEndpoint(uri, MockEndpoint.class);
}
-
/**
* Sends a message to the given endpoint URI with the body value
- *
+ *
* @param endpointUri the URI of the endpoint to send to
- * @param body the body for the message
+ * @param body the body for the message
*/
protected void sendBody(String endpointUri, final Object body) {
template.send(endpointUri, new Processor() {
@@ -164,9 +184,9 @@
/**
* Sends messages to the given endpoint for each of the specified bodies
- *
+ *
* @param endpointUri the endpoint URI to send to
- * @param bodies the bodies to send, one per message
+ * @param bodies the bodies to send, one per message
*/
protected void sendBodies(String endpointUri, Object... bodies) {
for (Object body : bodies) {
@@ -221,5 +241,9 @@
*/
protected void assertMockEndpointsSatisifed() throws InterruptedException {
MockEndpoint.assertIsSatisfied(context);
+ }
+
+ protected void assertValidContext(CamelContext context) {
+ assertNotNull("No context found!", context);
}
}
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/xml/XsltTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/xml/XsltTest.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/xml/XsltTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/xml/XsltTest.java Thu Sep 6 09:02:28 2007
@@ -30,7 +30,7 @@
public class XsltTest extends ContextTestSupport {
public void testXslt() throws Exception {
- MockEndpoint resultEndpoint = (MockEndpoint)resolveMandatoryEndpoint("mock:result");
+ MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
resultEndpoint
.expectedBodiesReceived("<?xml version=\"1.0\" encoding=\"UTF-8\"?><goodbye>world!</goodbye>");
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/NeilSplitterTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/NeilSplitterTest.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/NeilSplitterTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/NeilSplitterTest.java Thu Sep 6 09:02:28 2007
@@ -94,8 +94,7 @@
protected void setUp() throws Exception {
super.setUp();
- resultEndpoint = (MockEndpoint)
- resolveMandatoryEndpoint("mock:result");
+ resultEndpoint = getMockEndpoint("mock:result");
}
protected RouteBuilder createRouteBuilder() {
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelTest.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelTest.java Thu Sep 6 09:02:28 2007
@@ -66,8 +66,8 @@
protected void setUp() throws Exception {
super.setUp();
- deadEndpoint = (MockEndpoint)resolveMandatoryEndpoint("mock:failed");
- successEndpoint = (MockEndpoint)resolveMandatoryEndpoint("mock:success");
+ deadEndpoint = getMockEndpoint("mock:failed");
+ successEndpoint = getMockEndpoint("mock:success");
}
protected RouteBuilder createRouteBuilder() {
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathWithNamespaceBuilderFilterTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathWithNamespaceBuilderFilterTest.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathWithNamespaceBuilderFilterTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathWithNamespaceBuilderFilterTest.java Thu Sep 6 09:02:28 2007
@@ -55,7 +55,7 @@
super.setUp();
startEndpoint = resolveMandatoryEndpoint("direct:start");
- resultEndpoint = (MockEndpoint)resolveMandatoryEndpoint("mock:result");
+ resultEndpoint = getMockEndpoint("mock:result");
}
protected RouteBuilder createRouteBuilder() {
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathWithNamespacesFilterTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathWithNamespacesFilterTest.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathWithNamespacesFilterTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/XPathWithNamespacesFilterTest.java Thu Sep 6 09:02:28 2007
@@ -54,7 +54,7 @@
super.setUp();
startEndpoint = resolveMandatoryEndpoint("direct:start");
- resultEndpoint = (MockEndpoint)resolveMandatoryEndpoint("mock:result");
+ resultEndpoint = getMockEndpoint("mock:result");
}
protected RouteBuilder createRouteBuilder() {
Modified: activemq/camel/trunk/components/camel-activemq/src/test/java/org/apache/camel/component/activemq/ActiveMQConfigureTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-activemq/src/test/java/org/apache/camel/component/activemq/ActiveMQConfigureTest.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-activemq/src/test/java/org/apache/camel/component/activemq/ActiveMQConfigureTest.java (original)
+++ activemq/camel/trunk/components/camel-activemq/src/test/java/org/apache/camel/component/activemq/ActiveMQConfigureTest.java Thu Sep 6 09:02:28 2007
@@ -19,7 +19,6 @@
import org.apache.activemq.pool.PooledConnectionFactory;
import org.apache.activemq.spring.ActiveMQConnectionFactory;
import org.apache.camel.ContextTestSupport;
-import org.apache.camel.Endpoint;
import org.apache.camel.component.jms.JmsConsumer;
import org.apache.camel.component.jms.JmsEndpoint;
import org.apache.camel.component.jms.JmsProducer;
@@ -33,7 +32,7 @@
public class ActiveMQConfigureTest extends ContextTestSupport {
public void testJmsTemplateUsesPoolingConnectionFactory() throws Exception {
- JmsEndpoint endpoint = resolveMandatoryEndpoint("activemq:test.foo");
+ JmsEndpoint endpoint = getJmsEndpoint("activemq:test.foo");
JmsProducer producer = endpoint.createProducer();
JmsTemplate template = assertIsInstanceOf(JmsTemplate.class, producer.getTemplate());
@@ -42,7 +41,7 @@
}
public void testListenerContainerUsesSpringConnectionFactory() throws Exception {
- JmsEndpoint endpoint = resolveMandatoryEndpoint("activemq:topic:test.foo");
+ JmsEndpoint endpoint = getJmsEndpoint("activemq:topic:test.foo");
JmsConsumer consumer = endpoint.createConsumer(new Logger());
AbstractMessageListenerContainer listenerContainer = consumer.getListenerContainer();
@@ -51,9 +50,7 @@
}
- @Override
- protected JmsEndpoint resolveMandatoryEndpoint(String uri) {
- Endpoint endpoint = super.resolveMandatoryEndpoint(uri);
- return assertIsInstanceOf(JmsEndpoint.class, endpoint);
+ protected JmsEndpoint getJmsEndpoint(String uri) {
+ return resolveMandatoryEndpoint(uri, JmsEndpoint.class);
}
}
Modified: activemq/camel/trunk/components/camel-activemq/src/test/java/org/apache/camel/component/activemq/JournalConfigureTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-activemq/src/test/java/org/apache/camel/component/activemq/JournalConfigureTest.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-activemq/src/test/java/org/apache/camel/component/activemq/JournalConfigureTest.java (original)
+++ activemq/camel/trunk/components/camel-activemq/src/test/java/org/apache/camel/component/activemq/JournalConfigureTest.java Thu Sep 6 09:02:28 2007
@@ -27,22 +27,20 @@
public class JournalConfigureTest extends ContextTestSupport {
public void testDefaltConfig() throws Exception {
- JournalEndpoint endpoint = resolveMandatoryEndpoint("activemq.journal:target/test");
+ JournalEndpoint endpoint = getJournalEndpoint("activemq.journal:target/test");
assertEquals("directory", new File("target", "test"), endpoint.getDirectory());
assertEquals("syncConsume", false, endpoint.isSyncConsume());
assertEquals("syncProduce", true, endpoint.isSyncProduce());
}
public void testConfigViaOptions() throws Exception {
- JournalEndpoint endpoint = resolveMandatoryEndpoint("activemq.journal:target/test?syncConsume=true&syncProduce=false");
+ JournalEndpoint endpoint = getJournalEndpoint("activemq.journal:target/test?syncConsume=true&syncProduce=false");
assertEquals("directory", new File("target", "test"), endpoint.getDirectory());
assertEquals("syncConsume", true, endpoint.isSyncConsume());
assertEquals("syncProduce", false, endpoint.isSyncProduce());
}
- @Override
- protected JournalEndpoint resolveMandatoryEndpoint(String uri) {
- Endpoint endpoint = super.resolveMandatoryEndpoint(uri);
- return assertIsInstanceOf(JournalEndpoint.class, endpoint);
+ protected JournalEndpoint getJournalEndpoint(String uri) {
+ return resolveMandatoryEndpoint(uri, JournalEndpoint.class);
}
}
Modified: activemq/camel/trunk/components/camel-bam/src/test/java/org/apache/camel/bam/BamRouteTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-bam/src/test/java/org/apache/camel/bam/BamRouteTest.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-bam/src/test/java/org/apache/camel/bam/BamRouteTest.java (original)
+++ activemq/camel/trunk/components/camel-bam/src/test/java/org/apache/camel/bam/BamRouteTest.java Thu Sep 6 09:02:28 2007
@@ -48,9 +48,7 @@
protected void setUp() throws Exception {
super.setUp();
- camelContext.addRoutes(createRouteBuilder());
-
- overdueEndpoint = resolveMandatoryEndpoint("mock:overdue", MockEndpoint.class);
+ overdueEndpoint = getMockEndpoint("mock:overdue");
overdueEndpoint.setDefaulResultWaitMillis(8000);
}
Modified: activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/TransactedJmsRouteTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/TransactedJmsRouteTest.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/TransactedJmsRouteTest.java (original)
+++ activemq/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/TransactedJmsRouteTest.java Thu Sep 6 09:02:28 2007
@@ -195,10 +195,10 @@
// System.out.println(route);
// }
- mockEndpointA = (MockEndpoint)resolveMandatoryEndpoint("mock:a");
- mockEndpointB = (MockEndpoint)resolveMandatoryEndpoint("mock:b");
- mockEndpointC = (MockEndpoint)resolveMandatoryEndpoint("mock:c");
- mockEndpointD = (MockEndpoint)resolveMandatoryEndpoint("mock:d");
+ mockEndpointA = getMockEndpoint("mock:a");
+ mockEndpointB = getMockEndpoint("mock:b");
+ mockEndpointC = getMockEndpoint("mock:c");
+ mockEndpointD = getMockEndpoint("mock:d");
}
@Override
Modified: activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailRouteTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailRouteTest.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailRouteTest.java (original)
+++ activemq/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailRouteTest.java Thu Sep 6 09:02:28 2007
@@ -39,7 +39,7 @@
private MockEndpoint resultEndpoint;
public void testSendAndReceiveMails() throws Exception {
- resultEndpoint = (MockEndpoint)resolveMandatoryEndpoint("mock:result");
+ resultEndpoint = getMockEndpoint("mock:result");
resultEndpoint.expectedBodiesReceived("hello world!");
HashMap<String, Object> headers = new HashMap<String, Object>();
Modified: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/EndpointReferenceTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/EndpointReferenceTest.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/EndpointReferenceTest.java (original)
+++ activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/EndpointReferenceTest.java Thu Sep 6 09:02:28 2007
@@ -48,7 +48,6 @@
resultEndpoint.expectedBodiesReceived(body);
// now lets send a message
- CamelTemplate<Exchange> template = new CamelTemplate<Exchange>(camelContext);
template.sendBody("direct:start", body);
resultEndpoint.assertIsSatisfied();
Modified: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/SpringTestSupport.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/SpringTestSupport.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/SpringTestSupport.java (original)
+++ activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/SpringTestSupport.java Thu Sep 6 09:02:28 2007
@@ -23,6 +23,9 @@
import org.apache.camel.Exchange;
import org.apache.camel.Route;
import org.apache.camel.TestSupport;
+import org.apache.camel.CamelContext;
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.util.ObjectHelper;
@@ -32,10 +35,8 @@
/**
* @version $Revision: 1.1 $
*/
-public abstract class SpringTestSupport extends TestSupport {
+public abstract class SpringTestSupport extends ContextTestSupport {
protected AbstractXmlApplicationContext applicationContext;
- protected SpringCamelContext camelContext;
- protected CamelTemplate<Exchange> template;
protected abstract ClassPathXmlApplicationContext createApplicationContext();
@@ -45,14 +46,6 @@
assertNotNull("Should have created a valid spring context", applicationContext);
super.setUp();
-
- camelContext = createCamelContext();
- assertValidContext(camelContext);
- if (!camelContext.isStarted()) {
- camelContext.start();
- }
-
- template = new CamelTemplate<Exchange>(camelContext);
}
@Override
@@ -63,6 +56,7 @@
}
}
+
/**
* Looks up the mandatory spring bean of the given name and type, failing if
* it is not present or the correct type
@@ -78,26 +72,9 @@
}
}
- protected Endpoint resolveMandatoryEndpoint(String uri) {
- return resolveMandatoryEndpoint(camelContext, uri);
- }
-
- protected <T extends Endpoint> T resolveMandatoryEndpoint(String uri, Class<T> endpointType) {
- return resolveMandatoryEndpoint(camelContext, uri, endpointType);
- }
-
- /**
- * Resolves the mandatory Mock endpoint using a URI of the form <code>mock:someName</code>
- *
- * @param uri the URI which typically starts with "mock:" and has some name
- * @return the mandatory mock endpoint or an exception is thrown if it could not be resolved
- */
- protected MockEndpoint getMockEndpoint(String uri) {
- return resolveMandatoryEndpoint(uri, MockEndpoint.class);
- }
-
- protected void assertValidContext(SpringCamelContext context) {
- assertNotNull("No context found!", context);
+ @Override
+ protected void assertValidContext(CamelContext context) {
+ super.assertValidContext(context);
List<Route> routes = context.getRoutes();
int routeCount = getExpectedRouteCount();
@@ -112,7 +89,8 @@
return 1;
}
- protected SpringCamelContext createCamelContext() throws Exception {
+ @Override
+ protected CamelContext createCamelContext() throws Exception {
return SpringCamelContext.springCamelContext(applicationContext);
}
}
Modified: activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/bind/ProcessorAsEndpointTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/bind/ProcessorAsEndpointTest.java?rev=573307&r1=573306&r2=573307&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/bind/ProcessorAsEndpointTest.java (original)
+++ activemq/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/bind/ProcessorAsEndpointTest.java Thu Sep 6 09:02:28 2007
@@ -44,7 +44,7 @@
public void testSendingToNonExistentEndpoint() throws Exception {
String uri = "unknownEndpoint";
- Endpoint endpoint = camelContext.getEndpoint(uri);
+ Endpoint endpoint = context.getEndpoint(uri);
assertNull("Should not have found an endpoint! Was: " + endpoint, endpoint);
try {
template.sendBody(uri, body);