From 90409cbe9834e8b6b798da6308cc38a0ec88ae5a Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Thu, 24 Sep 2015 20:53:12 +0200 Subject: [PATCH] Renamed Undertow10BufferSupport to UndertowXnioBufferSupport Issue: SPR-13366 --- .../sockjs/client/UndertowXhrTransport.java | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/client/UndertowXhrTransport.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/client/UndertowXhrTransport.java index 4e1a9e75872..49e8981bb89 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/client/UndertowXhrTransport.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/client/UndertowXhrTransport.java @@ -69,7 +69,7 @@ import org.springframework.web.socket.sockjs.frame.SockJsFrame; /** * An XHR transport based on Undertow's {@link io.undertow.client.UndertowClient}. - * Compatible with Undertow from version 1.0 to 1.3. + * Compatible with Undertow 1.0 to 1.3, as of Spring Framework 4.2.2. * *

When used for testing purposes (e.g. load testing) or for specific use cases * (like HTTPS configuration), a custom OptionMap should be provided: @@ -92,11 +92,11 @@ import org.springframework.web.socket.sockjs.frame.SockJsFrame; */ public class UndertowXhrTransport extends AbstractXhrTransport { - private static final boolean undertow13Present = ClassUtils.isPresent("io.undertow.connector.ByteBufferPool", - UndertowXhrTransport.class.getClassLoader()); - private static final AttachmentKey RESPONSE_BODY = AttachmentKey.create(String.class); + private static final boolean undertow13Present = ClassUtils.isPresent( + "io.undertow.connector.ByteBufferPool", UndertowXhrTransport.class.getClassLoader()); + private final OptionMap optionMap; @@ -116,12 +116,8 @@ public class UndertowXhrTransport extends AbstractXhrTransport { this.optionMap = optionMap; this.httpClient = UndertowClient.getInstance(); this.worker = Xnio.getInstance().createWorker(optionMap); - if (undertow13Present) { - this.undertowBufferSupport = new Undertow13BufferSupport(); - } - else { - this.undertowBufferSupport = new Undertow10BufferSupport(); - } + this.undertowBufferSupport = + (undertow13Present ? new Undertow13BufferSupport() : new UndertowXnioBufferSupport()); } @@ -490,6 +486,7 @@ public class UndertowXhrTransport extends AbstractXhrTransport { } } + private interface UndertowBufferSupport { Object allocatePooledResource(); @@ -505,7 +502,8 @@ public class UndertowXhrTransport extends AbstractXhrTransport { final XnioWorker worker, OptionMap options); } - private class Undertow10BufferSupport implements UndertowBufferSupport { + + private class UndertowXnioBufferSupport implements UndertowBufferSupport { private final org.xnio.Pool xnioBufferPool; @@ -513,7 +511,7 @@ public class UndertowXhrTransport extends AbstractXhrTransport { private final Method httpClientConnectMethod; - public Undertow10BufferSupport() { + public UndertowXnioBufferSupport() { this.xnioBufferPool = new org.xnio.ByteBufferSlicePool(1048, 1048); this.httpClientConnectCallbackMethod = ReflectionUtils.findMethod(UndertowClient.class, "connect", ClientCallback.class, URI.class, XnioWorker.class, Pool.class, OptionMap.class); @@ -543,7 +541,6 @@ public class UndertowXhrTransport extends AbstractXhrTransport { XnioWorker worker, OptionMap options) { ReflectionUtils.invokeMethod(httpClientConnectCallbackMethod, httpClient, listener, uri, worker, this.xnioBufferPool, options); - } @Override @@ -555,6 +552,7 @@ public class UndertowXhrTransport extends AbstractXhrTransport { } } + private class Undertow13BufferSupport implements UndertowBufferSupport { private final ByteBufferPool undertowBufferPool;