You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/11/18 14:51:35 UTC
[1/2] camel git commit: Fix memory leak in undertow producer
Repository: camel
Updated Branches:
refs/heads/master 56ddf955f -> 39174b7e7
Fix memory leak in undertow producer
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/62352740
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/62352740
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/62352740
Branch: refs/heads/master
Commit: 6235274060324d405a6d4f9b3542ca7a4a31689a
Parents: 56ddf95
Author: James Netherton <ja...@gmail.com>
Authored: Tue Nov 17 16:06:02 2015 +0000
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Nov 18 14:45:14 2015 +0100
----------------------------------------------------------------------
.../undertow/DefaultUndertowHttpBinding.java | 83 ++++++++++----------
.../component/undertow/UndertowProducer.java | 20 ++---
.../undertow/UndertowProducerTest.java | 1 -
.../undertow/rest/RestApiUndertowTest.java | 2 -
...UndertowHttpBindingModeAutoWithJsonTest.java | 2 +-
...tUndertowHttpBindingModeAutoWithXmlTest.java | 2 +-
.../RestUndertowHttpBindingModeJsonTest.java | 2 +-
.../RestUndertowHttpBindingModeXmlTest.java | 2 +-
.../rest/RestUndertowHttpPojoInOutTest.java | 4 +-
.../RestUndertowHttpPostJsonJaxbPojoTest.java | 2 +-
.../RestUndertowHttpPostJsonPojoListTest.java | 2 +-
.../rest/RestUndertowHttpPostJsonPojoTest.java | 2 +-
.../RestUndertowHttpPostXmlJaxbPojoTest.java | 2 +-
13 files changed, 63 insertions(+), 63 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
index 481d29a..f3310e1 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.component.undertow;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
@@ -28,14 +29,13 @@ import java.util.Map;
import io.undertow.client.ClientExchange;
import io.undertow.client.ClientRequest;
import io.undertow.client.ClientResponse;
-import io.undertow.connector.ByteBufferPool;
-import io.undertow.connector.PooledByteBuffer;
import io.undertow.predicate.Predicate;
import io.undertow.server.HttpServerExchange;
import io.undertow.util.Headers;
import io.undertow.util.HttpString;
import io.undertow.util.Methods;
import io.undertow.util.MimeMappings;
+
import org.apache.camel.Exchange;
import org.apache.camel.Message;
import org.apache.camel.TypeConverter;
@@ -46,6 +46,8 @@ import org.apache.camel.util.MessageHelper;
import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.xnio.ChannelListener;
+import org.xnio.channels.StreamSourceChannel;
/**
* DefaultUndertowHttpBinding represent binding used by default, if user doesn't provide any.
@@ -83,8 +85,7 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
//extract body if the method is allowed to have one
//body is extracted as byte[] then auto TypeConverter kicks in
if (Methods.POST.equals(httpExchange.getRequestMethod()) || Methods.PUT.equals(httpExchange.getRequestMethod())) {
- byte[] bytes = readRequestBody(httpExchange);
- result.setBody(bytes);
+ result.setBody(readFromChannel(httpExchange.getRequestChannel()));
} else {
result.setBody(null);
}
@@ -99,7 +100,7 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
//retrieve response headers
populateCamelHeaders(clientExchange.getResponse(), result.getHeaders(), exchange);
- result.setBody(readResponseBody(clientExchange));
+ result.setBody(readFromChannel(clientExchange.getResponseChannel()));
return result;
}
@@ -322,40 +323,42 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
return body;
}
- private byte[] readRequestBody(HttpServerExchange httpExchange) throws IOException {
- ByteBufferPool bufferPool = httpExchange.getConnection().getByteBufferPool();
- PooledByteBuffer pooledByteBuffer = bufferPool.allocate();
- ByteBuffer byteBuffer = pooledByteBuffer.getBuffer();
-
- byteBuffer.clear();
-
- httpExchange.getRequestChannel().read(byteBuffer);
- int pos = byteBuffer.position();
- byteBuffer.rewind();
- byte[] bytes = new byte[pos];
- byteBuffer.get(bytes);
-
- byteBuffer.clear();
- pooledByteBuffer.close();
- return bytes;
- }
-
- private byte[] readResponseBody(ClientExchange httpExchange) throws IOException {
- ByteBufferPool bufferPool = httpExchange.getConnection().getBufferPool();
- PooledByteBuffer pooledByteBuffer = bufferPool.allocate();
- ByteBuffer byteBuffer = pooledByteBuffer.getBuffer();
-
- byteBuffer.clear();
-
- httpExchange.getResponseChannel().read(byteBuffer);
- int pos = byteBuffer.position();
- byteBuffer.rewind();
- byte[] bytes = new byte[pos];
- byteBuffer.get(bytes);
-
- byteBuffer.clear();
- pooledByteBuffer.close();
- return bytes;
+ private byte[] readFromChannel(StreamSourceChannel source) throws IOException {
+ final ByteArrayOutputStream out = new ByteArrayOutputStream();
+ final ByteBuffer buffer = ByteBuffer.wrap(new byte[1024]);
+
+ for (; ; ) {
+ int res = source.read(buffer);
+ if (res == -1) {
+ return out.toByteArray();
+ } else if (res == 0) {
+ source.getReadSetter().set(new ChannelListener<StreamSourceChannel>() {
+ @Override
+ public void handleEvent(StreamSourceChannel channel) {
+ for (; ; ) {
+ try {
+ int res = channel.read(buffer);
+ if (res == -1 || res == 0) {
+ out.toByteArray();
+ return;
+ } else {
+ buffer.flip();
+ out.write(buffer.array(), buffer.arrayOffset() + buffer.position(), buffer.arrayOffset() + buffer.limit());
+ buffer.clear();
+ }
+ } catch (IOException e) {
+ LOG.error("Exception reading from channel {}", e);
+ }
+ }
+ }
+ });
+ source.resumeReads();
+ return out.toByteArray();
+ } else {
+ buffer.flip();
+ out.write(buffer.array(), buffer.arrayOffset() + buffer.position(), buffer.arrayOffset() + buffer.limit());
+ buffer.clear();
+ }
+ }
}
-
}
http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
index 8e13e52..641cdbd 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
@@ -16,19 +16,20 @@
*/
package org.apache.camel.component.undertow;
-import java.io.IOException;
-import java.net.URI;
-import java.nio.ByteBuffer;
-
import io.undertow.client.ClientCallback;
import io.undertow.client.ClientConnection;
import io.undertow.client.ClientExchange;
import io.undertow.client.ClientRequest;
import io.undertow.client.UndertowClient;
-import io.undertow.server.XnioByteBufferPool;
+import io.undertow.server.DefaultByteBufferPool;
import io.undertow.util.Headers;
import io.undertow.util.HttpString;
import io.undertow.util.Protocols;
+
+import java.io.IOException;
+import java.net.URI;
+import java.nio.ByteBuffer;
+
import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
@@ -38,8 +39,6 @@ import org.apache.camel.util.ExchangeHelper;
import org.apache.camel.util.IOHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.xnio.BufferAllocator;
-import org.xnio.ByteBufferSlicePool;
import org.xnio.IoFuture;
import org.xnio.OptionMap;
import org.xnio.Xnio;
@@ -56,7 +55,7 @@ public class UndertowProducer extends DefaultAsyncProducer {
private static final Logger LOG = LoggerFactory.getLogger(UndertowProducer.class);
private UndertowEndpoint endpoint;
private XnioWorker worker;
- private ByteBufferSlicePool pool;
+ private DefaultByteBufferPool pool;
private OptionMap options;
public UndertowProducer(UndertowEndpoint endpoint, OptionMap options) {
@@ -77,7 +76,7 @@ public class UndertowProducer extends DefaultAsyncProducer {
try {
final UndertowClient client = UndertowClient.getInstance();
- IoFuture<ClientConnection> connect = client.connect(endpoint.getHttpURI(), worker, new XnioByteBufferPool(pool), options);
+ IoFuture<ClientConnection> connect = client.connect(endpoint.getHttpURI(), worker, pool, options);
// creating the url to use takes 2-steps
String url = UndertowHelper.createURL(exchange, getEndpoint());
@@ -127,7 +126,8 @@ public class UndertowProducer extends DefaultAsyncProducer {
protected void doStart() throws Exception {
super.doStart();
- pool = new ByteBufferSlicePool(BufferAllocator.DIRECT_BYTE_BUFFER_ALLOCATOR, 8192, 8192 * 8192);
+ pool = new DefaultByteBufferPool(true, 8192);
+
worker = Xnio.getInstance().createWorker(options);
LOG.debug("Created worker: {} with options: {}", worker, options);
http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowProducerTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowProducerTest.java
index 03059ef..ed6f2a4 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowProducerTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowProducerTest.java
@@ -66,7 +66,6 @@ public class UndertowProducerTest extends BaseUndertowTest {
@Test
public void testHttpSimpleHeaderAndBody() throws Exception {
-
getMockEndpoint("mock:input").expectedBodiesReceived("Hello World");
getMockEndpoint("mock:input").expectedHeaderReceived(Exchange.HTTP_METHOD, "POST");
http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestApiUndertowTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestApiUndertowTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestApiUndertowTest.java
index 946c0b5..beece9e 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestApiUndertowTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestApiUndertowTest.java
@@ -32,8 +32,6 @@ public class RestApiUndertowTest extends BaseUndertowTest {
public void testApi() throws Exception {
String out = template.requestBody("undertow:http://localhost:{{port}}/api-doc", null, String.class);
assertNotNull(out);
- log.info(out);
-
assertTrue(out.contains("\"version\" : \"1.2.3\""));
assertTrue(out.contains("\"title\" : \"The hello rest thing\""));
assertTrue(out.contains("\"/hello/bye/{name}\""));
http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithJsonTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithJsonTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithJsonTest.java
index dd03f09..e5fcd37 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithJsonTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithJsonTest.java
@@ -31,7 +31,7 @@ public class RestUndertowHttpBindingModeAutoWithJsonTest extends BaseUndertowTes
mock.message(0).body().isInstanceOf(UserPojo.class);
String body = "{\"id\": 123, \"name\": \"Donald Duck\"}";
- template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+ template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
assertMockEndpointsSatisfied();
http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithXmlTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithXmlTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithXmlTest.java
index 528ca4b..b94f25a 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithXmlTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeAutoWithXmlTest.java
@@ -31,7 +31,7 @@ public class RestUndertowHttpBindingModeAutoWithXmlTest extends BaseUndertowTest
mock.message(0).body().isInstanceOf(UserJaxbPojo.class);
String body = "<user name=\"Donald Duck\" id=\"123\"></user>";
- template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+ template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
assertMockEndpointsSatisfied();
http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeJsonTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeJsonTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeJsonTest.java
index d28b45e..100afee 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeJsonTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeJsonTest.java
@@ -32,7 +32,7 @@ public class RestUndertowHttpBindingModeJsonTest extends BaseUndertowTest {
mock.message(0).body().isInstanceOf(UserJaxbPojo.class);
String body = "{\"id\": 123, \"name\": \"Donald Duck\"}";
- template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+ template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
assertMockEndpointsSatisfied();
http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeXmlTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeXmlTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeXmlTest.java
index 33cb016..f9baba4 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeXmlTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpBindingModeXmlTest.java
@@ -31,7 +31,7 @@ public class RestUndertowHttpBindingModeXmlTest extends BaseUndertowTest {
mock.message(0).body().isInstanceOf(UserJaxbPojo.class);
String body = "<user name=\"Donald Duck\" id=\"123\"></user>";
- template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+ template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
assertMockEndpointsSatisfied();
http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoInOutTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoInOutTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoInOutTest.java
index efc9a34..68ccc8c 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoInOutTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPojoInOutTest.java
@@ -26,7 +26,7 @@ public class RestUndertowHttpPojoInOutTest extends BaseUndertowTest {
@Test
public void testUndertowPojoInOut() throws Exception {
String body = "{\"id\": 123, \"name\": \"Donald Duck\"}";
- String out = template.requestBody("undertow:http://localhost:" + getPort() + "/users/lives", body, String.class);
+ String out = template.requestBody("undertow:http://localhost:{{port}}/users/lives", body, String.class);
assertNotNull(out);
assertEquals("{\"iso\":\"EN\",\"country\":\"England\"}", out);
@@ -34,7 +34,7 @@ public class RestUndertowHttpPojoInOutTest extends BaseUndertowTest {
@Test
public void testUndertowGetRequest() throws Exception {
- String out = template.requestBody("undertow:http://localhost:" + getPort() + "/users/lives", null, String.class);
+ String out = template.requestBody("undertow:http://localhost:{{port}}/users/lives", null, String.class);
assertNotNull(out);
assertEquals("{\"iso\":\"EN\",\"country\":\"England\"}", out);
http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonJaxbPojoTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonJaxbPojoTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonJaxbPojoTest.java
index 0d7d2ab..375acad 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonJaxbPojoTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonJaxbPojoTest.java
@@ -31,7 +31,7 @@ public class RestUndertowHttpPostJsonJaxbPojoTest extends BaseUndertowTest {
mock.message(0).body().isInstanceOf(UserJaxbPojo.class);
String body = "{\"id\": 123, \"name\": \"Donald Duck\"}";
- template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+ template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
assertMockEndpointsSatisfied();
http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoListTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoListTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoListTest.java
index 8a42dd1..27a5a2c 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoListTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoListTest.java
@@ -32,7 +32,7 @@ public class RestUndertowHttpPostJsonPojoListTest extends BaseUndertowTest {
mock.expectedMessageCount(1);
String body = "[ {\"id\": 123, \"name\": \"Donald Duck\"}, {\"id\": 456, \"name\": \"John Doe\"} ]";
- template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+ template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
assertMockEndpointsSatisfied();
http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoTest.java
index 10b7b43..02370d6 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostJsonPojoTest.java
@@ -31,7 +31,7 @@ public class RestUndertowHttpPostJsonPojoTest extends BaseUndertowTest {
mock.message(0).body().isInstanceOf(UserPojo.class);
String body = "{\"id\": 123, \"name\": \"Donald Duck\"}";
- template.sendBody("undertow:http://localhost:" + getPort() + "/users/new", body);
+ template.sendBody("undertow:http://localhost:{{port}}/users/new", body);
assertMockEndpointsSatisfied();
http://git-wip-us.apache.org/repos/asf/camel/blob/62352740/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostXmlJaxbPojoTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostXmlJaxbPojoTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostXmlJaxbPojoTest.java
index 1b15bf0..b4d0e44 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostXmlJaxbPojoTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowHttpPostXmlJaxbPojoTest.java
@@ -32,7 +32,7 @@ public class RestUndertowHttpPostXmlJaxbPojoTest extends BaseUndertowTest {
mock.message(0).body().isInstanceOf(UserJaxbPojo.class);
String body = "<user name=\"Donald Duck\" id=\"123\"></user>";
- template.sendBodyAndHeader("undertow:http://localhost:" + getPort() + "/users/new", body, Exchange.CONTENT_TYPE, "text/xml");
+ template.sendBodyAndHeader("undertow:http://localhost:{{port}}/users/new", body, Exchange.CONTENT_TYPE, "text/xml");
assertMockEndpointsSatisfied();
[2/2] camel git commit: Fixed CS
Posted by da...@apache.org.
Fixed CS
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/39174b7e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/39174b7e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/39174b7e
Branch: refs/heads/master
Commit: 39174b7e75e9d2e25c4b2849c00ca3179143818e
Parents: 6235274
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Nov 18 14:51:26 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Nov 18 14:51:26 2015 +0100
----------------------------------------------------------------------
.../undertow/DefaultUndertowHttpBinding.java | 4 ++--
.../component/undertow/UndertowComponent.java | 17 ++++++++--------
.../component/undertow/UndertowConsumer.java | 2 +-
.../undertow/UndertowConsumerResolver.java | 21 +++++++++++++++++---
.../component/undertow/UndertowProducer.java | 9 ++++-----
.../component/undertow/rest/RestGetTest.java | 2 +-
6 files changed, 34 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/39174b7e/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
index f3310e1..4fbd762 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/DefaultUndertowHttpBinding.java
@@ -327,7 +327,7 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
final ByteArrayOutputStream out = new ByteArrayOutputStream();
final ByteBuffer buffer = ByteBuffer.wrap(new byte[1024]);
- for (; ; ) {
+ for (;;) {
int res = source.read(buffer);
if (res == -1) {
return out.toByteArray();
@@ -335,7 +335,7 @@ public class DefaultUndertowHttpBinding implements UndertowHttpBinding {
source.getReadSetter().set(new ChannelListener<StreamSourceChannel>() {
@Override
public void handleEvent(StreamSourceChannel channel) {
- for (; ; ) {
+ for (;;) {
try {
int res = channel.read(buffer);
if (res == -1 || res == 0) {
http://git-wip-us.apache.org/repos/asf/camel/blob/39174b7e/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
index 28c4a2d..062a6c9 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowComponent.java
@@ -16,15 +16,6 @@
*/
package org.apache.camel.component.undertow;
-import io.undertow.Handlers;
-import io.undertow.Undertow;
-import io.undertow.attribute.ExchangeAttributes;
-import io.undertow.predicate.PathTemplatePredicate;
-import io.undertow.predicate.Predicate;
-import io.undertow.predicate.Predicates;
-import io.undertow.server.handlers.PathHandler;
-import io.undertow.server.handlers.PredicateHandler;
-
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
@@ -33,6 +24,14 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
+import io.undertow.Handlers;
+import io.undertow.Undertow;
+import io.undertow.attribute.ExchangeAttributes;
+import io.undertow.predicate.PathTemplatePredicate;
+import io.undertow.predicate.Predicate;
+import io.undertow.predicate.Predicates;
+import io.undertow.server.handlers.PathHandler;
+import io.undertow.server.handlers.PredicateHandler;
import org.apache.camel.CamelContext;
import org.apache.camel.Consumer;
import org.apache.camel.Endpoint;
http://git-wip-us.apache.org/repos/asf/camel/blob/39174b7e/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumer.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumer.java
index 9eca7a3..f7d9ace 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumer.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumer.java
@@ -68,7 +68,7 @@ public class UndertowConsumer extends DefaultConsumer {
httpCamelHandler.connectConsumer(this);
host.validateEndpointURI(httpUri);
- host.registerHandler(httpUri.getPath(), httpCamelHandler) ;
+ host.registerHandler(httpUri.getPath(), httpCamelHandler);
}
@Override
http://git-wip-us.apache.org/repos/asf/camel/blob/39174b7e/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumerResolver.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumerResolver.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumerResolver.java
index f8f4ec3..9a56c2a 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumerResolver.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowConsumerResolver.java
@@ -1,12 +1,27 @@
+/**
+ * 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.camel.component.undertow;
-import io.undertow.server.HttpServerExchange;
-import io.undertow.util.HttpString;
-
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import io.undertow.server.HttpServerExchange;
+import io.undertow.util.HttpString;
import org.apache.camel.support.RestConsumerContextPathMatcher;
public class UndertowConsumerResolver {
http://git-wip-us.apache.org/repos/asf/camel/blob/39174b7e/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
index 641cdbd..c74b7c3 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowProducer.java
@@ -16,6 +16,10 @@
*/
package org.apache.camel.component.undertow;
+import java.io.IOException;
+import java.net.URI;
+import java.nio.ByteBuffer;
+
import io.undertow.client.ClientCallback;
import io.undertow.client.ClientConnection;
import io.undertow.client.ClientExchange;
@@ -25,11 +29,6 @@ import io.undertow.server.DefaultByteBufferPool;
import io.undertow.util.Headers;
import io.undertow.util.HttpString;
import io.undertow.util.Protocols;
-
-import java.io.IOException;
-import java.net.URI;
-import java.nio.ByteBuffer;
-
import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.Message;
http://git-wip-us.apache.org/repos/asf/camel/blob/39174b7e/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestGetTest.java
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestGetTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestGetTest.java
index 5474278..40ec680 100644
--- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestGetTest.java
+++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestGetTest.java
@@ -44,7 +44,7 @@ public class RestGetTest extends BaseUndertowTest {
String id = exchange.getIn().getHeader("id", String.class);
exchange.getOut().setBody(id + ";Donald Duck");
}
- });
+ });
}
};
}