Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.TXT1
-rw-r--r--jetty-annotations/src/main/java/org/eclipse/jetty/annotations/AnnotationConfiguration.java15
-rw-r--r--jetty-client/src/main/java/org/eclipse/jetty/client/HttpDestination.java3
-rw-r--r--jetty-client/src/main/java/org/eclipse/jetty/client/HttpReceiver.java8
-rw-r--r--jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTP.java3
-rw-r--r--jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpSenderOverHTTP.java6
-rw-r--r--jetty-client/src/main/java/org/eclipse/jetty/client/util/InputStreamContentProvider.java3
-rw-r--r--jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/client/http/HttpConnectionOverFCGI.java3
-rw-r--r--jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ParamsContentParser.java8
-rw-r--r--jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ResponseContentParser.java15
-rw-r--r--jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/StreamContentParser.java8
-rw-r--r--jetty-fcgi/fcgi-server/src/main/java/org/eclipse/jetty/fcgi/server/ServerFCGIConnection.java3
-rw-r--r--jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyEffectiveWebXml.java157
-rw-r--r--jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunForkedMojo.java22
-rw-r--r--jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunMojo.java3
-rw-r--r--jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyWebAppContext.java32
-rw-r--r--jetty-proxy/src/main/java/org/eclipse/jetty/proxy/ConnectHandler.java3
-rw-r--r--jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java640
-rw-r--r--jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartWebApp.java14
-rw-r--r--jetty-server/src/test/java/org/eclipse/jetty/server/ServerConnectorTest.java197
-rw-r--r--jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java12
-rw-r--r--jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java15
-rw-r--r--jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java14
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/DecoderFactory.java11
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/EncoderFactory.java11
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerFactory.java26
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/AnnotatedEndpointScanner.java16
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrEvents.java26
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrAnnotatedEventDriver.java46
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrEndpointEventDriver.java21
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EncoderTest.java8
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EndpointEchoClient.java8
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EndpointEchoTest.java29
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/MessageQueue.java5
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScanner_InvalidSignaturesTest.java8
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/TrackingSocket.java12
-rw-r--r--jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/samples/AbstractStringEndpoint.java6
-rw-r--r--jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/BasicServerEndpointConfigurator.java6
-rw-r--r--jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/JsrCreator.java7
-rw-r--r--jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/deploy/WebSocketServerContainerInitializer.java44
-rw-r--r--jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ConfiguratorTest.java9
-rw-r--r--jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/DummyConnection.java3
-rw-r--r--jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/IdleTimeoutTest.java19
-rw-r--r--jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScanner_InvalidSignaturesTest.java8
-rw-r--r--jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/StreamTest.java12
-rw-r--r--jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/TrackingSocket.java12
-rw-r--r--jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/WSServer.java8
-rw-r--r--jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/browser/JsrBrowserSocket.java7
-rw-r--r--jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/pong/PongSocket.java4
-rw-r--r--jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java32
-rw-r--r--jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java6
-rw-r--r--jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/WebSocketClientSelectorManager.java10
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java3
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/AbstractEventDriver.java9
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedScanner.java3
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyListenerEventDriver.java3
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStack.java17
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/compress/CompressExtension.java19
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/fragment/FragmentExtension.java12
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/AbstractWebSocketConnection.java33
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FrameFlusher.java6
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FutureWriteCallback.java6
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/IOState.java18
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageInputStream.java12
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageOutputStream.java8
-rw-r--r--jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageWriter.java8
-rw-r--r--jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventCapture.java11
-rw-r--r--jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/LocalWebSocketConnection.java15
-rw-r--r--jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageWriterTest.java7
-rw-r--r--jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/TrackingInputStreamSocket.java10
-rw-r--r--jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java15
-rw-r--r--jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java5
-rw-r--r--jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/pathmap/PathMappings.java3
73 files changed, 1212 insertions, 616 deletions
diff --git a/README.TXT b/README.TXT
index 12c781192c..9157b3eaa5 100644
--- a/README.TXT
+++ b/README.TXT
@@ -1,6 +1,5 @@
This is a source checkout of the Jetty webserver.
-
To build, use:
mvn clean install
diff --git a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/AnnotationConfiguration.java b/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/AnnotationConfiguration.java
index 4845caaa59..2a79a43bd1 100644
--- a/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/AnnotationConfiguration.java
+++ b/jetty-annotations/src/main/java/org/eclipse/jetty/annotations/AnnotationConfiguration.java
@@ -36,7 +36,6 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
-
import javax.servlet.ServletContainerInitializer;
import javax.servlet.annotation.HandlesTypes;
@@ -557,16 +556,16 @@ public class AnnotationConfiguration extends AbstractConfiguration
boolean timeout = !latch.await(getMaxScanWait(context), TimeUnit.SECONDS);
if (LOG.isDebugEnabled())
- {
+ {
for (ParserTask p:_parserTasks)
LOG.debug("Scanned {} in {}ms", p.getResource(), TimeUnit.MILLISECONDS.convert(p.getStatistic().getElapsed(), TimeUnit.NANOSECONDS));
+
+ LOG.debug("Scanned {} container path jars, {} WEB-INF/lib jars, {} WEB-INF/classes dirs in {}ms for context {}",
+ _containerPathStats.getTotal(), _webInfLibStats.getTotal(), _webInfClassesStats.getTotal(),
+ (TimeUnit.MILLISECONDS.convert(System.nanoTime()-start, TimeUnit.NANOSECONDS)),
+ context);
}
-
- LOG.debug("Scanned {} container path jars, {} WEB-INF/lib jars, {} WEB-INF/classes dirs in {}ms for context {}",
- _containerPathStats.getTotal(), _webInfLibStats.getTotal(), _webInfClassesStats.getTotal(),
- (TimeUnit.MILLISECONDS.convert(System.nanoTime()-start, TimeUnit.NANOSECONDS)),
- context);
-
+
if (timeout)
me.add(new Exception("Timeout scanning annotations"));
me.ifExceptionThrow();
diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpDestination.java b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpDestination.java
index 45e3878b38..20bbb12ab5 100644
--- a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpDestination.java
+++ b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpDestination.java
@@ -214,7 +214,8 @@ public abstract class HttpDestination implements Destination, Closeable, Dumpabl
public void close()
{
abort(new AsynchronousCloseException());
- LOG.debug("Closed {}", this);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Closed {}", this);
}
public void release(Connection connection)
diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpReceiver.java b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpReceiver.java
index 0f5da04d96..ec90252924 100644
--- a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpReceiver.java
+++ b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpReceiver.java
@@ -205,7 +205,8 @@ public abstract class HttpReceiver
}
catch (IOException x)
{
- LOG.debug(x);
+ if (LOG.isDebugEnabled())
+ LOG.debug(x);
}
}
@@ -451,7 +452,10 @@ public abstract class HttpReceiver
{
boolean updated = responseState.compareAndSet(from, to);
if (!updated)
- LOG.debug("State update failed: {} -> {}: {}", from, to, responseState.get());
+ {
+ if (LOG.isDebugEnabled())
+ LOG.debug("State update failed: {} -> {}: {}", from, to, responseState.get());
+ }
return updated;
}
diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTP.java b/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTP.java
index 7a457238ae..08ff81cde4 100644
--- a/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTP.java
+++ b/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTP.java
@@ -120,7 +120,8 @@ public class HttpReceiverOverHTTP extends HttpReceiver implements HttpParser.Res
}
catch (Throwable x)
{
- LOG.debug(x);
+ if (LOG.isDebugEnabled())
+ LOG.debug(x);
failAndClose(x);
return true;
}
diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpSenderOverHTTP.java b/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpSenderOverHTTP.java
index d176826fc9..6b0364d180 100644
--- a/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpSenderOverHTTP.java
+++ b/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpSenderOverHTTP.java
@@ -123,7 +123,8 @@ public class HttpSenderOverHTTP extends HttpSender
}
catch (Throwable x)
{
- LOG.debug(x);
+ if (LOG.isDebugEnabled())
+ LOG.debug(x);
callback.failed(x);
}
}
@@ -181,7 +182,8 @@ public class HttpSenderOverHTTP extends HttpSender
}
catch (Exception x)
{
- LOG.debug(x);
+ if (LOG.isDebugEnabled())
+ LOG.debug(x);
callback.failed(x);
}
}
diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/util/InputStreamContentProvider.java b/jetty-client/src/main/java/org/eclipse/jetty/client/util/InputStreamContentProvider.java
index caa6a974d1..0a7e0ae1f9 100644
--- a/jetty-client/src/main/java/org/eclipse/jetty/client/util/InputStreamContentProvider.java
+++ b/jetty-client/src/main/java/org/eclipse/jetty/client/util/InputStreamContentProvider.java
@@ -173,7 +173,8 @@ public class InputStreamContentProvider implements ContentProvider
}
catch (Throwable x)
{
- LOG.debug(x);
+ if (LOG.isDebugEnabled())
+ LOG.debug(x);
if (failure == null)
{
failure = x;
diff --git a/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/client/http/HttpConnectionOverFCGI.java b/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/client/http/HttpConnectionOverFCGI.java
index ab41fe689d..91f0dee799 100644
--- a/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/client/http/HttpConnectionOverFCGI.java
+++ b/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/client/http/HttpConnectionOverFCGI.java
@@ -150,7 +150,8 @@ public class HttpConnectionOverFCGI extends AbstractConnection implements Connec
}
catch (Exception x)
{
- LOG.debug(x);
+ if (LOG.isDebugEnabled())
+ LOG.debug(x);
close(x);
return false;
}
diff --git a/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ParamsContentParser.java b/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ParamsContentParser.java
index 42cbee811d..261c1b1a82 100644
--- a/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ParamsContentParser.java
+++ b/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ParamsContentParser.java
@@ -27,7 +27,7 @@ import org.eclipse.jetty.util.log.Logger;
public class ParamsContentParser extends ContentParser
{
- private static final Logger logger = Log.getLogger(ParamsContentParser.class);
+ private static final Logger LOG = Log.getLogger(ParamsContentParser.class);
private final ServerParser.Listener listener;
private State state = State.LENGTH;
@@ -212,7 +212,8 @@ public class ParamsContentParser extends ContentParser
}
catch (Throwable x)
{
- logger.debug("Exception while invoking listener " + listener, x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while invoking listener " + listener, x);
}
}
@@ -224,7 +225,8 @@ public class ParamsContentParser extends ContentParser
}
catch (Throwable x)
{
- logger.debug("Exception while invoking listener " + listener, x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while invoking listener " + listener, x);
}
}
diff --git a/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ResponseContentParser.java b/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ResponseContentParser.java
index 8afa1f0b9f..cd75e69151 100644
--- a/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ResponseContentParser.java
+++ b/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/ResponseContentParser.java
@@ -187,7 +187,8 @@ public class ResponseContentParser extends StreamContentParser
}
catch (Throwable x)
{
- logger.debug("Exception while invoking listener " + listener, x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while invoking listener " + listener, x);
}
}
@@ -199,7 +200,8 @@ public class ResponseContentParser extends StreamContentParser
}
catch (Throwable x)
{
- logger.debug("Exception while invoking listener " + listener, x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while invoking listener " + listener, x);
}
}
@@ -211,7 +213,8 @@ public class ResponseContentParser extends StreamContentParser
}
catch (Throwable x)
{
- logger.debug("Exception while invoking listener " + listener, x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while invoking listener " + listener, x);
}
}
@@ -232,7 +235,8 @@ public class ResponseContentParser extends StreamContentParser
}
catch (Throwable x)
{
- logger.debug("Exception while invoking listener " + listener, x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while invoking listener " + listener, x);
}
}
@@ -264,7 +268,8 @@ public class ResponseContentParser extends StreamContentParser
}
catch (Throwable x)
{
- logger.debug("Exception while invoking listener " + listener, x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while invoking listener " + listener, x);
return false;
}
}
diff --git a/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/StreamContentParser.java b/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/StreamContentParser.java
index 655a4d24bf..9770b5fef9 100644
--- a/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/StreamContentParser.java
+++ b/jetty-fcgi/fcgi-client/src/main/java/org/eclipse/jetty/fcgi/parser/StreamContentParser.java
@@ -26,7 +26,7 @@ import org.eclipse.jetty.util.log.Logger;
public class StreamContentParser extends ContentParser
{
- protected static final Logger logger = Log.getLogger(StreamContentParser.class);
+ private static final Logger LOG = Log.getLogger(StreamContentParser.class);
private final FCGI.StreamType streamType;
private final Parser.Listener listener;
@@ -87,7 +87,8 @@ public class StreamContentParser extends ContentParser
}
catch (Throwable x)
{
- logger.debug("Exception while invoking listener " + listener, x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while invoking listener " + listener, x);
}
}
@@ -99,7 +100,8 @@ public class StreamContentParser extends ContentParser
}
catch (Throwable x)
{
- logger.debug("Exception while invoking listener " + listener, x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while invoking listener " + listener, x);
return false;
}
}
diff --git a/jetty-fcgi/fcgi-server/src/main/java/org/eclipse/jetty/fcgi/server/ServerFCGIConnection.java b/jetty-fcgi/fcgi-server/src/main/java/org/eclipse/jetty/fcgi/server/ServerFCGIConnection.java
index c76734eed1..5a13017d20 100644
--- a/jetty-fcgi/fcgi-server/src/main/java/org/eclipse/jetty/fcgi/server/ServerFCGIConnection.java
+++ b/jetty-fcgi/fcgi-server/src/main/java/org/eclipse/jetty/fcgi/server/ServerFCGIConnection.java
@@ -95,7 +95,8 @@ public class ServerFCGIConnection extends AbstractConnection
}
catch (Exception x)
{
- LOG.debug(x);
+ if (LOG.isDebugEnabled())
+ LOG.debug(x);
// TODO: fail and close ?
}
finally
diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyEffectiveWebXml.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyEffectiveWebXml.java
new file mode 100644
index 0000000000..6c607c85df
--- /dev/null
+++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyEffectiveWebXml.java
@@ -0,0 +1,157 @@
+//
+// ========================================================================
+// Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd.
+// ------------------------------------------------------------------------
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// and Apache License v2.0 which accompanies this distribution.
+//
+// The Eclipse Public License is available at
+// http://www.eclipse.org/legal/epl-v10.html
+//
+// The Apache License v2.0 is available at
+// http://www.opensource.org/licenses/apache2.0.php
+//
+// You may elect to redistribute this code under either of these licenses.
+// ========================================================================
+//
+
+
+package org.eclipse.jetty.maven.plugin;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.eclipse.jetty.annotations.AnnotationConfiguration;
+import org.eclipse.jetty.util.IO;
+import org.eclipse.jetty.util.resource.Resource;
+import org.eclipse.jetty.util.thread.QueuedThreadPool;
+
+/**
+ * JettyEffectiveWebXml
+ *
+ * @goal effective-web-xml
+ * @requiresDependencyResolution test
+ * @execute phase="test-compile"
+ * @description Runs jetty on the unassembled webapp to generate the effective web.xml
+ */
+public class JettyEffectiveWebXml extends JettyRunMojo
+{
+ /**
+ * The target directory
+ *
+ * @parameter expression="${project.build.directory}"
+ * @required
+ * @readonly
+ */
+ protected File target;
+
+ /**
+ * The target directory
+ *
+ * @parameter
+ */
+ protected File effectiveWebXml;
+
+
+ protected boolean deleteOnExit = true;
+
+
+ /**
+ * @see org.apache.maven.plugin.Mojo#execute()
+ */
+ public void execute() throws MojoExecutionException, MojoFailureException
+ {
+ super.execute();
+ }
+
+
+ @Override
+ public void startJetty() throws MojoExecutionException
+ {
+ //Only do enough setup to be able to produce a quickstart-web.xml file to
+ //pass onto the forked process to run
+
+ //if the user didn't nominate a file to generate into, pick the name and
+ //make sure that it is deleted on exit
+ if (effectiveWebXml == null)
+ {
+ deleteOnExit = true;
+ effectiveWebXml = new File(target, "effective-web.xml");
+ effectiveWebXml.deleteOnExit();
+ }
+
+ Resource descriptor = Resource.newResource(effectiveWebXml);
+
+ QueuedThreadPool tpool = null;
+
+ try
+ {
+ printSystemProperties();
+
+ //apply any config from a jetty.xml file first to our "fake" server instance
+ //TODO probably not necessary
+ applyJettyXml ();
+
+
+ server.configureHandlers();
+
+ //ensure config of the webapp based on settings in plugin
+ configureWebApplication();
+
+
+ //set the webapp up to do very little other than generate the quickstart-web.xml
+ webApp.setCopyWebDir(false);
+ webApp.setCopyWebInf(false);
+ webApp.setGenerateQuickStart(true);
+
+ if (!effectiveWebXml.getParentFile().exists())
+ effectiveWebXml.getParentFile().mkdirs();
+ if (!effectiveWebXml.exists())
+ effectiveWebXml.createNewFile();
+
+ webApp.setQuickStartWebDescriptor(descriptor);
+
+ server.addWebApplication(webApp);
+
+ //if our server has a thread pool associated we can do any annotation scanning multithreaded,
+ //otherwise scanning will be single threaded
+ tpool = server.getBean(QueuedThreadPool.class);
+ if (tpool != null)
+ tpool.start();
+ else
+ webApp.setAttribute(AnnotationConfiguration.MULTI_THREADED, Boolean.FALSE.toString());
+
+ webApp.start(); //just enough to generate the quickstart
+
+ }
+ catch (Exception e)
+ {
+ throw new MojoExecutionException("Effective web.xml generation failed", e);
+ }
+ finally
+ {
+ try {webApp.stop();}catch (Exception x) {};
+
+ try {if (tpool != null) tpool.stop();} catch (Exception x) {};
+ }
+
+
+ if (deleteOnExit)
+ {
+ try
+ {
+ //just show the result in the log
+ getLog().info(IO.toString(descriptor.getInputStream()));
+ }
+ catch (IOException e)
+ {
+ throw new MojoExecutionException("Unable to output effective web.xml", e);
+ }
+
+ }
+
+ }
+}
diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunForkedMojo.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunForkedMojo.java
index 663749d033..aa73a33860 100644
--- a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunForkedMojo.java
+++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunForkedMojo.java
@@ -43,6 +43,7 @@ import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.eclipse.jetty.annotations.AnnotationConfiguration;
+import org.eclipse.jetty.quickstart.QuickStartDescriptorGenerator;
import org.eclipse.jetty.util.IO;
import org.eclipse.jetty.util.resource.Resource;
import org.eclipse.jetty.util.resource.ResourceCollection;
@@ -98,6 +99,13 @@ public class JettyRunForkedMojo extends JettyRunMojo
*/
protected File target;
+ /**
+ * The file into which to generate the quickstart web xml for the forked process to use
+ *
+ * @parameter expression="${project.build.directory}/fork-web.xml"
+ */
+ protected File forkWebXml;
+
/**
* Arbitrary jvm args to pass to the forked process
@@ -229,7 +237,11 @@ public class JettyRunForkedMojo extends JettyRunMojo
public void startJetty() throws MojoExecutionException
{
//Only do enough setup to be able to produce a quickstart-web.xml file to
- //pass onto the forked process to run
+ //pass onto the forked process to run
+
+ if (forkWebXml == null)
+ forkWebXml = new File (target, "fork-web.xml");
+
try
{
printSystemProperties();
@@ -251,7 +263,13 @@ public class JettyRunForkedMojo extends JettyRunMojo
webApp.setCopyWebDir(false);
webApp.setCopyWebInf(false);
webApp.setGenerateQuickStart(true);
- webApp.setQuickStartDir(target);
+
+ if (!forkWebXml.getParentFile().exists())
+ forkWebXml.getParentFile().mkdirs();
+ if (!forkWebXml.exists())
+ forkWebXml.createNewFile();
+
+ webApp.setQuickStartWebDescriptor(Resource.newResource(forkWebXml));
server.addWebApplication(webApp);
diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunMojo.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunMojo.java
index 41147fca0d..130dd52504 100644
--- a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunMojo.java
+++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyRunMojo.java
@@ -55,8 +55,7 @@ import org.eclipse.jetty.webapp.WebAppContext;
* This can be used, for example, to deploy a static webapp that is not part of your maven build.
* </p>
* <p>
- * There is a <a href="run-mojo.html">reference guide</a> to the configuration parameters for this plugin, and more detailed information
- * with examples in the <a href="http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin">Configuration Guide</a>.
+ * There is a <a href="http://www.eclipse.org/jetty/documentation/current/maven-and-jetty.html">reference guide</a> to the configuration parameters for this plugin.
* </p>
*
*
diff --git a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyWebAppContext.java b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyWebAppContext.java
index 4b8a76bc7d..265e2852a7 100644
--- a/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyWebAppContext.java
+++ b/jetty-maven-plugin/src/main/java/org/eclipse/jetty/maven/plugin/JettyWebAppContext.java
@@ -19,6 +19,7 @@
package org.eclipse.jetty.maven.plugin;
import java.io.File;
+import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.ArrayList;
@@ -66,7 +67,7 @@ public class JettyWebAppContext extends WebAppContext
- private static final String DEFAULT_CONTAINER_INCLUDE_JAR_PATTERN = ".*/javax.servlet-[^/]*\\.jar$|.*/servlet-api-[^/]*\\.jar$|.*javax.servlet.jsp.jstl-[^/]*\\.jar";
+ private static final String DEFAULT_CONTAINER_INCLUDE_JAR_PATTERN = ".*/javax.servlet-[^/]*\\.jar$|.*/servlet-api-[^/]*\\.jar$|.*javax.servlet.jsp.jstl-[^/]*\\.jar|.*taglibs-standard-impl-.*\\.jar";
private static final String WEB_INF_CLASSES_PREFIX = "/WEB-INF/classes";
private static final String WEB_INF_LIB_PREFIX = "/WEB-INF/lib";
@@ -125,7 +126,7 @@ public class JettyWebAppContext extends WebAppContext
private boolean _isGenerateQuickStart;
private PreconfigureDescriptorProcessor _preconfigProcessor;
- private File _quickStartDir;
+
@@ -274,15 +275,7 @@ public class JettyWebAppContext extends WebAppContext
return _isGenerateQuickStart;
}
- public void setQuickStartDir (File dir)
- {
- _quickStartDir = dir;
- }
-
- public File getQuickStartDir()
- {
- return _quickStartDir;
- }
+
@Override
@@ -290,9 +283,14 @@ public class JettyWebAppContext extends WebAppContext
{
if (isGenerateQuickStart())
{
- QuickStartDescriptorGenerator generator = new QuickStartDescriptorGenerator(this, (getQuickStartDir()==null?getTempDirectory():getQuickStartDir()), _preconfigProcessor.getXML());
- File f = generator.generateQuickStartWebXml();
- setQuickStartWebDescriptor(Resource.newResource(f));
+ if (getQuickStartWebDescriptor() == null)
+ throw new IllegalStateException ("No location to generate quickstart descriptor");
+
+ QuickStartDescriptorGenerator generator = new QuickStartDescriptorGenerator(this, _preconfigProcessor.getXML());
+ try (FileOutputStream fos = new FileOutputStream(getQuickStartWebDescriptor().getFile()))
+ {
+ generator.generateQuickStartWebXml(fos);
+ }
}
else
super.startWebapp();
@@ -303,7 +301,9 @@ public class JettyWebAppContext extends WebAppContext
public void doStart () throws Exception
{
//choose if this will be a quickstart or normal start
- if (getQuickStartWebDescriptor() == null)
+ if (!isGenerateQuickStart() && getQuickStartWebDescriptor() != null)
+ setConfigurations(_quickStartConfigurations);
+ else
{
setConfigurations(_defaultConfigurations);
if (isGenerateQuickStart())
@@ -312,8 +312,6 @@ public class JettyWebAppContext extends WebAppContext
getMetaData().addDescriptorProcessor(_preconfigProcessor);
}
}
- else
- setConfigurations(_quickStartConfigurations);
//inject configurations with config from maven plugin
diff --git a/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/ConnectHandler.java b/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/ConnectHandler.java
index 14b2155b98..b43ce7338c 100644
--- a/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/ConnectHandler.java
+++ b/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/ConnectHandler.java
@@ -456,7 +456,8 @@ public class ConnectHandler extends HandlerWrapper
@Override
public Connection newConnection(SocketChannel channel, EndPoint endpoint, Object attachment) throws IOException
{
- ConnectHandler.LOG.debug("Connected to {}", channel.getRemoteAddress());
+ if (ConnectHandler.LOG.isDebugEnabled())
+ ConnectHandler.LOG.debug("Connected to {}", channel.getRemoteAddress());
ConnectContext connectContext = (ConnectContext)attachment;
UpstreamConnection connection = newUpstreamConnection(endpoint, connectContext);
connection.setInputBufferSize(getBufferSize());
diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java
index a138ae6e57..5a56625fb0 100644
--- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java
+++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartDescriptorGenerator.java
@@ -23,6 +23,7 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.OutputStream;
import java.util.Collection;
import java.util.Collections;
import java.util.EventListener;
@@ -75,21 +76,21 @@ import org.eclipse.jetty.xml.XmlAppendable;
public class QuickStartDescriptorGenerator
{
private static final Logger LOG = Log.getLogger(QuickStartDescriptorGenerator.class);
+
+ public static final String DEFAULT_QUICKSTART_DESCRIPTOR_NAME = "quickstart-web.xml";
+
protected WebAppContext _webApp;
- protected File _descriptorDir;
protected String _extraXML;
/**
* @param w the source WebAppContext
- * @param descriptorDir the directory where quickstart-web.xml should be saved
* @param extraXML any extra xml snippet to append
*/
- public QuickStartDescriptorGenerator (WebAppContext w, File descriptorDir, String extraXML)
+ public QuickStartDescriptorGenerator (WebAppContext w, String extraXML)
{
_webApp = w;
- _descriptorDir = descriptorDir;
_extraXML = extraXML;
}
@@ -100,424 +101,406 @@ public class QuickStartDescriptorGenerator
* @throws FileNotFoundException
* @throws Exception
*/
- public File generateQuickStartWebXml () throws FileNotFoundException, IOException
+ public void generateQuickStartWebXml (OutputStream stream) throws FileNotFoundException, IOException
{
if (_webApp == null)
- throw new IllegalStateException("No webapp for quickstart-web.xml");
- if (_descriptorDir == null)
- throw new IllegalStateException("No location for quickstart-web.xml");
+ throw new IllegalStateException("No webapp for quickstart generation");
+ if (stream == null)
+ throw new IllegalStateException("No output for quickstart generation");
_webApp.getMetaData().getOrigins();
if (_webApp.getBaseResource()==null)
throw new IllegalArgumentException("No base resource for "+this);
- if (!_descriptorDir.exists())
- _descriptorDir.mkdirs();
-
- File webXml = new File(_descriptorDir,"quickstart-web.xml");
-
- LOG.info("Quickstart generate {}",webXml);
-
- try (FileOutputStream fos = new FileOutputStream(webXml))
- {
- XmlAppendable out = new XmlAppendable(fos,"UTF-8");
+ LOG.info("Quickstart generating");
- MetaData md = _webApp.getMetaData();
+ XmlAppendable out = new XmlAppendable(stream,"UTF-8");
- Map<String, String> webappAttr = new HashMap<>();
- webappAttr.put("xmlns","http://xmlns.jcp.org/xml/ns/javaee");
- webappAttr.put("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance");
- webappAttr.put("xsi:schemaLocation","http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd");
- webappAttr.put("metadata-complete","true");
- webappAttr.put("version","3.1");
+ MetaData md = _webApp.getMetaData();
- out.openTag("web-app",webappAttr);
- if (_webApp.getDisplayName() != null)
- out.tag("display-name",_webApp.getDisplayName());
+ Map<String, String> webappAttr = new HashMap<>();
+ webappAttr.put("xmlns","http://xmlns.jcp.org/xml/ns/javaee");
+ webappAttr.put("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance");
+ webappAttr.put("xsi:schemaLocation","http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd");
+ webappAttr.put("metadata-complete","true");
+ webappAttr.put("version","3.1");
- // Set some special context parameters
+ out.openTag("web-app",webappAttr);
+ if (_webApp.getDisplayName() != null)
+ out.tag("display-name",_webApp.getDisplayName());
- // The location of the war file on disk
- String resourceBase = _webApp.getBaseResource().getFile().getCanonicalFile().getAbsoluteFile().toURI().toString();
+ // Set some special context parameters
- // The library order
- addContextParamFromAttribute(out,ServletContext.ORDERED_LIBS);
- //the servlet container initializers
- addContextParamFromAttribute(out,AnnotationConfiguration.CONTAINER_INITIALIZERS);
- //the tlds discovered
- addContextParamFromAttribute(out,MetaInfConfiguration.METAINF_TLDS,resourceBase);
- //the META-INF/resources discovered
- addContextParamFromAttribute(out,MetaInfConfiguration.METAINF_RESOURCES,resourceBase);
+ // The location of the war file on disk
+ String resourceBase = _webApp.getBaseResource().getFile().getCanonicalFile().getAbsoluteFile().toURI().toString();
+ // The library order
+ addContextParamFromAttribute(out,ServletContext.ORDERED_LIBS);
+ //the servlet container initializers
+ addContextParamFromAttribute(out,AnnotationConfiguration.CONTAINER_INITIALIZERS);
+ //the tlds discovered
+ addContextParamFromAttribute(out,MetaInfConfiguration.METAINF_TLDS,resourceBase);
+ //the META-INF/resources discovered
+ addContextParamFromAttribute(out,MetaInfConfiguration.METAINF_RESOURCES,resourceBase);
- // init params
- for (String p : _webApp.getInitParams().keySet())
- out.openTag("context-param",origin(md,"context-param." + p))
- .tag("param-name",p)
- .tag("param-value",_webApp.getInitParameter(p))
- .closeTag();
- if (_webApp.getEventListeners() != null)
- for (EventListener e : _webApp.getEventListeners())
- out.openTag("listener",origin(md,e.getClass().getCanonicalName() + ".listener"))
- .tag("listener-class",e.getClass().getCanonicalName())
- .closeTag();
+ // init params
+ for (String p : _webApp.getInitParams().keySet())
+ out.openTag("context-param",origin(md,"context-param." + p))
+ .tag("param-name",p)
+ .tag("param-value",_webApp.getInitParameter(p))
+ .closeTag();
- ServletHandler servlets = _webApp.getServletHandler();
+ if (_webApp.getEventListeners() != null)
+ for (EventListener e : _webApp.getEventListeners())
+ out.openTag("listener",origin(md,e.getClass().getCanonicalName() + ".listener"))
+ .tag("listener-class",e.getClass().getCanonicalName())
+ .closeTag();
- if (servlets.getFilters() != null)
- {
- for (FilterHolder holder : servlets.getFilters())
- outholder(out,md,"filter",holder);
- }
+ ServletHandler servlets = _webApp.getServletHandler();
- if (servlets.getFilterMappings() != null)
+ if (servlets.getFilters() != null)
+ {
+ for (FilterHolder holder : servlets.getFilters())
+ outholder(out,md,"filter",holder);
+ }
+
+ if (servlets.getFilterMappings() != null)
+ {
+ for (FilterMapping mapping : servlets.getFilterMappings())
{
- for (FilterMapping mapping : servlets.getFilterMappings())
+ out.openTag("filter-mapping");
+ out.tag("filter-name",mapping.getFilterName());
+ if (mapping.getPathSpecs() != null)
+ for (String s : mapping.getPathSpecs())
+ out.tag("url-pattern",s);
+ if (mapping.getServletNames() != null)
+ for (String n : mapping.getServletNames())
+ out.tag("servlet-name",n);
+
+ if (!mapping.isDefaultDispatches())
{
- out.openTag("filter-mapping");
- out.tag("filter-name",mapping.getFilterName());
- if (mapping.getPathSpecs() != null)
- for (String s : mapping.getPathSpecs())
- out.tag("url-pattern",s);
- if (mapping.getServletNames() != null)
- for (String n : mapping.getServletNames())
- out.tag("servlet-name",n);
-
- if (!mapping.isDefaultDispatches())
- {
- if (mapping.appliesTo(DispatcherType.REQUEST))
- out.tag("dispatcher","REQUEST");
- if (mapping.appliesTo(DispatcherType.ASYNC))
- out.tag("dispatcher","ASYNC");
- if (mapping.appliesTo(DispatcherType.ERROR))
- out.tag("dispatcher","ERROR");
- if (mapping.appliesTo(DispatcherType.FORWARD))
- out.tag("dispatcher","FORWARD");
- if (mapping.appliesTo(DispatcherType.INCLUDE))
- out.tag("dispatcher","INCLUDE");
- }
- out.closeTag();
+ if (mapping.appliesTo(DispatcherType.REQUEST))
+ out.tag("dispatcher","REQUEST");
+ if (mapping.appliesTo(DispatcherType.ASYNC))
+ out.tag("dispatcher","ASYNC");
+ if (mapping.appliesTo(DispatcherType.ERROR))
+ out.tag("dispatcher","ERROR");
+ if (mapping.appliesTo(DispatcherType.FORWARD))
+ out.tag("dispatcher","FORWARD");
+ if (mapping.appliesTo(DispatcherType.INCLUDE))
+ out.tag("dispatcher","INCLUDE");
}
+ out.closeTag();
}
+ }
- if (servlets.getServlets() != null)
- {
- for (ServletHolder holder : servlets.getServlets())
- outholder(out,md,"servlet",holder);
- }
+ if (servlets.getServlets() != null)
+ {
+ for (ServletHolder holder : servlets.getServlets())
+ outholder(out,md,"servlet",holder);
+ }
- if (servlets.getServletMappings() != null)
+ if (servlets.getServletMappings() != null)
+ {
+ for (ServletMapping mapping : servlets.getServletMappings())
{
- for (ServletMapping mapping : servlets.getServletMappings())
- {
- out.openTag("servlet-mapping",origin(md,mapping.getServletName() + ".servlet.mappings"));
- out.tag("servlet-name",mapping.getServletName());
- if (mapping.getPathSpecs() != null)
- for (String s : mapping.getPathSpecs())
- out.tag("url-pattern",s);
- out.closeTag();
- }
+ out.openTag("servlet-mapping",origin(md,mapping.getServletName() + ".servlet.mappings"));
+ out.tag("servlet-name",mapping.getServletName());
+ if (mapping.getPathSpecs() != null)
+ for (String s : mapping.getPathSpecs())
+ out.tag("url-pattern",s);
+ out.closeTag();
}
+ }
- // Security elements
- SecurityHandler security =_webApp. getSecurityHandler();
+ // Security elements
+ SecurityHandler security =_webApp. getSecurityHandler();
- if (security!=null && (security.getRealmName()!=null || security.getAuthMethod()!=null))
- {
- out.openTag("login-config");
- if (security.getAuthMethod()!=null)
- out.tag("auth-method",origin(md,"auth-method"),security.getAuthMethod());
- if (security.getRealmName()!=null)
- out.tag("realm-name",origin(md,"realm-name"),security.getRealmName());
+ if (security!=null && (security.getRealmName()!=null || security.getAuthMethod()!=null))
+ {
+ out.openTag("login-config");
+ if (security.getAuthMethod()!=null)
+ out.tag("auth-method",origin(md,"auth-method"),security.getAuthMethod());
+ if (security.getRealmName()!=null)
+ out.tag("realm-name",origin(md,"realm-name"),security.getRealmName());
- if (Constraint.__FORM_AUTH.equalsIgnoreCase(security.getAuthMethod()))
- {
- out.openTag("form-login-config");
- out.tag("form-login-page",origin(md,"form-login-page"),security.getInitParameter(FormAuthenticator.__FORM_LOGIN_PAGE));
- out.tag("form-error-page",origin(md,"form-error-page"),security.getInitParameter(FormAuthenticator.__FORM_ERROR_PAGE));
- out.closeTag();
- }
-
+ if (Constraint.__FORM_AUTH.equalsIgnoreCase(security.getAuthMethod()))
+ {
+ out.openTag("form-login-config");
+ out.tag("form-login-page",origin(md,"form-login-page"),security.getInitParameter(FormAuthenticator.__FORM_LOGIN_PAGE));
+ out.tag("form-error-page",origin(md,"form-error-page"),security.getInitParameter(FormAuthenticator.__FORM_ERROR_PAGE));
out.closeTag();
}
- if (security instanceof ConstraintAware)
+ out.closeTag();
+ }
+
+ if (security instanceof ConstraintAware)
+ {
+ ConstraintAware ca = (ConstraintAware)security;
+ for (String r:ca.getRoles())
+ out.openTag("security-role")
+ .tag("role-name",r)
+ .closeTag();
+
+ for (ConstraintMapping m : ca.getConstraintMappings())
{
- ConstraintAware ca = (ConstraintAware)security;
- for (String r:ca.getRoles())
- out.openTag("security-role")
- .tag("role-name",r)
- .closeTag();
+ out.openTag("security-constraint");
- for (ConstraintMapping m : ca.getConstraintMappings())
+ if (m.getConstraint().getAuthenticate())
{
- out.openTag("security-constraint");
+ out.openTag("auth-constraint");
+ if (m.getConstraint().getRoles()!=null)
+ for (String r : m.getConstraint().getRoles())
+ out.tag("role-name",r);
- if (m.getConstraint().getAuthenticate())
- {
- out.openTag("auth-constraint");
- if (m.getConstraint().getRoles()!=null)
- for (String r : m.getConstraint().getRoles())
- out.tag("role-name",r);
+ out.closeTag();
+ }
- out.closeTag();
- }
+ switch (m.getConstraint().getDataConstraint())
+ {
+ case Constraint.DC_NONE:
+ out.openTag("user-data-constraint").tag("transport-guarantee","NONE").closeTag();
+ break;
- switch (m.getConstraint().getDataConstraint())
- {
- case Constraint.DC_NONE:
- out.openTag("user-data-constraint").tag("transport-guarantee","NONE").closeTag();
- break;
+ case Constraint.DC_INTEGRAL:
+ out.openTag("user-data-constraint").tag("transport-guarantee","INTEGRAL").closeTag();
+ break;
- case Constraint.DC_INTEGRAL:
- out.openTag("user-data-constraint").tag("transport-guarantee","INTEGRAL").closeTag();
- break;
+ case Constraint.DC_CONFIDENTIAL:
+ out.openTag("user-data-constraint").tag("transport-guarantee","CONFIDENTIAL").closeTag();
+ break;
- case Constraint.DC_CONFIDENTIAL:
- out.openTag("user-data-constraint").tag("transport-guarantee","CONFIDENTIAL").closeTag();
- break;
+ default:
+ break;
- default:
- break;
+ }
- }
+ out.openTag("web-resource-collection");
+ {
+ if (m.getConstraint().getName()!=null)
+ out.tag("web-resource-name",m.getConstraint().getName());
+ if (m.getPathSpec()!=null)
+ out.tag("url-pattern",origin(md,"constraint.url."+m.getPathSpec()),m.getPathSpec());
+ if (m.getMethod()!=null)
+ out.tag("http-method",m.getMethod());
- out.openTag("web-resource-collection");
- {
- if (m.getConstraint().getName()!=null)
- out.tag("web-resource-name",m.getConstraint().getName());
- if (m.getPathSpec()!=null)
- out.tag("url-pattern",origin(md,"constraint.url."+m.getPathSpec()),m.getPathSpec());
- if (m.getMethod()!=null)
- out.tag("http-method",m.getMethod());
-
- if (m.getMethodOmissions()!=null)
- for (String o:m.getMethodOmissions())
- out.tag("http-method-omission",o);
-
- out.closeTag();
- }
+ if (m.getMethodOmissions()!=null)
+ for (String o:m.getMethodOmissions())
+ out.tag("http-method-omission",o);
out.closeTag();
-
}
+
+ out.closeTag();
+
}
+ }
- if (_webApp.getWelcomeFiles() != null)
+ if (_webApp.getWelcomeFiles() != null)
+ {
+ out.openTag("welcome-file-list");
+ for (String welcomeFile:_webApp.getWelcomeFiles())
{
- out.openTag("welcome-file-list");
- for (String welcomeFile:_webApp.getWelcomeFiles())
- {
- out.tag("welcome-file", welcomeFile);
- }
- out.closeTag();
+ out.tag("welcome-file", welcomeFile);
}
+ out.closeTag();
+ }
- Map<String,String> localeEncodings = _webApp.getLocaleEncodings();
- if (localeEncodings != null && !localeEncodings.isEmpty())
+ Map<String,String> localeEncodings = _webApp.getLocaleEncodings();
+ if (localeEncodings != null && !localeEncodings.isEmpty())
+ {
+ out.openTag("locale-encoding-mapping-list");
+ for (Map.Entry<String, String> entry:localeEncodings.entrySet())
{
- out.openTag("locale-encoding-mapping-list");
- for (Map.Entry<String, String> entry:localeEncodings.entrySet())
- {
- out.openTag("locale-encoding-mapping", origin(md,"locale-encoding."+entry.getKey()));
- out.tag("locale", entry.getKey());
- out.tag("encoding", entry.getValue());
- out.closeTag();
- }
+ out.openTag("locale-encoding-mapping", origin(md,"locale-encoding."+entry.getKey()));
+ out.tag("locale", entry.getKey());
+ out.tag("encoding", entry.getValue());
out.closeTag();
}
+ out.closeTag();
+ }
- //session-config
- if (_webApp.getSessionHandler().getSessionManager() != null)
- {
- out.openTag("session-config");
- int maxInactiveSec = _webApp.getSessionHandler().getSessionManager().getMaxInactiveInterval();
- out.tag("session-timeout", (maxInactiveSec==0?"0":Integer.toString(maxInactiveSec/60)));
+ //session-config
+ if (_webApp.getSessionHandler().getSessionManager() != null)
+ {
+ out.openTag("session-config");
+ int maxInactiveSec = _webApp.getSessionHandler().getSessionManager().getMaxInactiveInterval();
+ out.tag("session-timeout", (maxInactiveSec==0?"0":Integer.toString(maxInactiveSec/60)));
- Set<SessionTrackingMode> modes =_webApp. getSessionHandler().getSessionManager().getEffectiveSessionTrackingModes();
- if (modes != null)
- {
- for (SessionTrackingMode mode:modes)
- out.tag("tracking-mode", mode.toString());
- }
+ Set<SessionTrackingMode> modes =_webApp. getSessionHandler().getSessionManager().getEffectiveSessionTrackingModes();
+ if (modes != null)
+ {
+ for (SessionTrackingMode mode:modes)
+ out.tag("tracking-mode", mode.toString());
+ }
- //cookie-config
- SessionCookieConfig cookieConfig = _webApp.getSessionHandler().getSessionManager().getSessionCookieConfig();
- if (cookieConfig != null)
- {
- out.openTag("cookie-config");
- if (cookieConfig.getName() != null)
- out.tag("name", origin(md,"cookie-config.name"), cookieConfig.getName());
+ //cookie-config
+ SessionCookieConfig cookieConfig = _webApp.getSessionHandler().getSessionManager().getSessionCookieConfig();
+ if (cookieConfig != null)
+ {
+ out.openTag("cookie-config");
+ if (cookieConfig.getName() != null)
+ out.tag("name", origin(md,"cookie-config.name"), cookieConfig.getName());
- if (cookieConfig.getDomain() != null)
- out.tag("domain", origin(md, "cookie-config.domain"), cookieConfig.getDomain());
+ if (cookieConfig.getDomain() != null)
+ out.tag("domain", origin(md, "cookie-config.domain"), cookieConfig.getDomain());
- if (cookieConfig.getPath() != null)
- out.tag("path", origin(md, "cookie-config.path"), cookieConfig.getPath());
+ if (cookieConfig.getPath() != null)
+ out.tag("path", origin(md, "cookie-config.path"), cookieConfig.getPath());
- if (cookieConfig.getComment() != null)
- out.tag("comment", origin(md, "cookie-config.comment"), cookieConfig.getComment());
+ if (cookieConfig.getComment() != null)
+ out.tag("comment", origin(md, "cookie-config.comment"), cookieConfig.getComment());
- out.tag("http-only", origin(md, "cookie-config.http-only"), Boolean.toString(cookieConfig.isHttpOnly()));
- out.tag("secure", origin(md, "cookie-config.secure"), Boolean.toString(cookieConfig.isSecure()));
- out.tag("max-age", origin(md, "cookie-config.max-age"), Integer.toString(cookieConfig.getMaxAge()));
- out.closeTag();
- }
- out.closeTag();
+ out.tag("http-only", origin(md, "cookie-config.http-only"), Boolean.toString(cookieConfig.isHttpOnly()));
+ out.tag("secure", origin(md, "cookie-config.secure"), Boolean.toString(cookieConfig.isSecure()));
+ out.tag("max-age", origin(md, "cookie-config.max-age"), Integer.toString(cookieConfig.getMaxAge()));
+ out.closeTag();
}
+ out.closeTag();
+ }
- //error-pages
- Map<String,String> errorPages = ((ErrorPageErrorHandler)_webApp.getErrorHandler()).getErrorPages();
- if (errorPages != null)
+ //error-pages
+ Map<String,String> errorPages = ((ErrorPageErrorHandler)_webApp.getErrorHandler()).getErrorPages();
+ if (errorPages != null)
+ {
+ for (Map.Entry<String, String> entry:errorPages.entrySet())
{
- for (Map.Entry<String, String> entry:errorPages.entrySet())
+ out.openTag("error-page", origin(md, "error."+entry.getKey()));
+ //a global or default error page has no code or exception
+ if (!ErrorPageErrorHandler.GLOBAL_ERROR_PAGE.equals(entry.getKey()))
{
- out.openTag("error-page", origin(md, "error."+entry.getKey()));
- //a global or default error page has no code or exception
- if (!ErrorPageErrorHandler.GLOBAL_ERROR_PAGE.equals(entry.getKey()))
- {
- if (entry.getKey().matches("\\d{3}"))
- out.tag("error-code", entry.getKey());
- else
- out.tag("exception-type", entry.getKey());
- }
- out.tag("location", entry.getValue());
- out.closeTag();
+ if (entry.getKey().matches("\\d{3}"))
+ out.tag("error-code", entry.getKey());
+ else
+ out.tag("exception-type", entry.getKey());
}
+ out.tag("location", entry.getValue());
+ out.closeTag();
}
+ }
- //mime-types
- MimeTypes mimeTypes = _webApp.getMimeTypes();
- if (mimeTypes != null)
+ //mime-types
+ MimeTypes mimeTypes = _webApp.getMimeTypes();
+ if (mimeTypes != null)
+ {
+ for (Map.Entry<String, String> entry:mimeTypes.getMimeMap().entrySet())
{
- for (Map.Entry<String, String> entry:mimeTypes.getMimeMap().entrySet())
+ out.openTag("mime-mapping");
+ out.tag("extension", origin(md, "extension."+entry.getKey()), entry.getKey());
+ out.tag("mime-type", entry.getValue());
+ out.closeTag();
+ }
+ }
+
+ //jsp-config
+ JspConfig jspConfig = (JspConfig)_webApp.getServletContext().getJspConfigDescriptor();
+ if (jspConfig != null)
+ {
+ out.openTag("jsp-config");
+ Collection<TaglibDescriptor> tlds = jspConfig.getTaglibs();
+ if (tlds != null && !tlds.isEmpty())
+ {
+ for (TaglibDescriptor tld:tlds)
{
- out.openTag("mime-mapping");
- out.tag("extension", origin(md, "extension."+entry.getKey()), entry.getKey());
- out.tag("mime-type", entry.getValue());
+ out.openTag("taglib");
+ out.tag("taglib-uri", tld.getTaglibURI());
+ out.tag("taglib-location", tld.getTaglibLocation());
out.closeTag();
}
}
- //jsp-config
- JspConfig jspConfig = (JspConfig)_webApp.getServletContext().getJspConfigDescriptor();
- if (jspConfig != null)
+ Collection<JspPropertyGroupDescriptor> jspPropertyGroups = jspConfig.getJspPropertyGroups();
+ if (jspPropertyGroups != null && !jspPropertyGroups.isEmpty())
{
- out.openTag("jsp-config");
- Collection<TaglibDescriptor> tlds = jspConfig.getTaglibs();
- if (tlds != null && !tlds.isEmpty())
+ for (JspPropertyGroupDescriptor jspPropertyGroup:jspPropertyGroups)
{
- for (TaglibDescriptor tld:tlds)
+ out.openTag("jsp-property-group");
+ Collection<String> strings = jspPropertyGroup.getUrlPatterns();
+ if (strings != null && !strings.isEmpty())
{
- out.openTag("taglib");
- out.tag("taglib-uri", tld.getTaglibURI());
- out.tag("taglib-location", tld.getTaglibLocation());
- out.closeTag();
+ for (String urlPattern:strings)
+ out.tag("url-pattern", urlPattern);
}
- }
-
- Collection<JspPropertyGroupDescriptor> jspPropertyGroups = jspConfig.getJspPropertyGroups();
- if (jspPropertyGroups != null && !jspPropertyGroups.isEmpty())
- {
- for (JspPropertyGroupDescriptor jspPropertyGroup:jspPropertyGroups)
- {
- out.openTag("jsp-property-group");
- Collection<String> strings = jspPropertyGroup.getUrlPatterns();
- if (strings != null && !strings.isEmpty())
- {
- for (String urlPattern:strings)
- out.tag("url-pattern", urlPattern);
- }
-
- if (jspPropertyGroup.getElIgnored() != null)
- out.tag("el-ignored", jspPropertyGroup.getElIgnored());
-
- if (jspPropertyGroup.getPageEncoding() != null)
- out.tag("page-encoding", jspPropertyGroup.getPageEncoding());
- if (jspPropertyGroup.getScriptingInvalid() != null)
- out.tag("scripting-invalid", jspPropertyGroup.getScriptingInvalid());
+ if (jspPropertyGroup.getElIgnored() != null)
+ out.tag("el-ignored", jspPropertyGroup.getElIgnored());
- if (jspPropertyGroup.getIsXml() != null)
- out.tag("is-xml", jspPropertyGroup.getIsXml());
+ if (jspPropertyGroup.getPageEncoding() != null)
+ out.tag("page-encoding", jspPropertyGroup.getPageEncoding());
- if (jspPropertyGroup.getDeferredSyntaxAllowedAsLiteral() != null)
- out.tag("deferred-syntax-allowed-as-literal", jspPropertyGroup.getDeferredSyntaxAllowedAsLiteral());
+ if (jspPropertyGroup.getScriptingInvalid() != null)
+ out.tag("scripting-invalid", jspPropertyGroup.getScriptingInvalid());
- if (jspPropertyGroup.getTrimDirectiveWhitespaces() != null)
- out.tag("trim-directive-whitespaces", jspPropertyGroup.getTrimDirectiveWhitespaces());
+ if (jspPropertyGroup.getIsXml() != null)
+ out.tag("is-xml", jspPropertyGroup.getIsXml());
- if (jspPropertyGroup.getDefaultContentType() != null)
- out.tag("default-content-type", jspPropertyGroup.getDefaultContentType());
+ if (jspPropertyGroup.getDeferredSyntaxAllowedAsLiteral() != null)
+ out.tag("deferred-syntax-allowed-as-literal", jspPropertyGroup.getDeferredSyntaxAllowedAsLiteral());
- if (jspPropertyGroup.getBuffer() != null)
- out.tag("buffer", jspPropertyGroup.getBuffer());
+ if (jspPropertyGroup.getTrimDirectiveWhitespaces() != null)
+ out.tag("trim-directive-whitespaces", jspPropertyGroup.getTrimDirectiveWhitespaces());
- if (jspPropertyGroup.getErrorOnUndeclaredNamespace() != null)
- out.tag("error-on-undeclared-namespace", jspPropertyGroup.getErrorOnUndeclaredNamespace());
+ if (jspPropertyGroup.getDefaultContentType() != null)
+ out.tag("default-content-type", jspPropertyGroup.getDefaultContentType());
- strings = jspPropertyGroup.getIncludePreludes();
- if (strings != null && !strings.isEmpty())
- {
- for (String prelude:strings)
- out.tag("include-prelude", prelude);
- }
+ if (jspPropertyGroup.getBuffer() != null)
+ out.tag("buffer", jspPropertyGroup.getBuffer());
- strings = jspPropertyGroup.getIncludeCodas();
- if (strings != null && !strings.isEmpty())
- {
- for (String coda:strings)
- out.tag("include-coda", coda);
- }
+ if (jspPropertyGroup.getErrorOnUndeclaredNamespace() != null)
+ out.tag("error-on-undeclared-namespace", jspPropertyGroup.getErrorOnUndeclaredNamespace());
- out.closeTag();
+ strings = jspPropertyGroup.getIncludePreludes();
+ if (strings != null && !strings.isEmpty())
+ {
+ for (String prelude:strings)
+ out.tag("include-prelude", prelude);
}
- }
-
- out.closeTag();
- }
- //lifecycle: post-construct, pre-destroy
- LifeCycleCallbackCollection lifecycles = ((LifeCycleCallbackCollection)_webApp.getAttribute(LifeCycleCallbackCollection.LIFECYCLE_CALLBACK_COLLECTION));
- if (lifecycles != null)
- {
- Collection<LifeCycleCallback> tmp = lifecycles.getPostConstructCallbacks();
-
- for (LifeCycleCallback c:tmp)
- {
- out.openTag("post-construct");
- out.tag("lifecycle-callback-class", c.getTargetClassName());
- out.tag("lifecycle-callback-method", c.getMethodName());
- out.closeTag();
- }
+ strings = jspPropertyGroup.getIncludeCodas();
+ if (strings != null && !strings.isEmpty())
+ {
+ for (String coda:strings)
+ out.tag("include-coda", coda);
+ }
- tmp = lifecycles.getPreDestroyCallbacks();
- for (LifeCycleCallback c:tmp)
- {
- out.openTag("pre-destroy");
- out.tag("lifecycle-callback-class", c.getTargetClassName());
- out.tag("lifecycle-callback-method", c.getMethodName());
out.closeTag();
}
}
- out.literal(_extraXML);
-
out.closeTag();
}
- catch (Exception e)
+
+ //lifecycle: post-construct, pre-destroy
+ LifeCycleCallbackCollection lifecycles = ((LifeCycleCallbackCollection)_webApp.getAttribute(LifeCycleCallbackCollection.LIFECYCLE_CALLBACK_COLLECTION));
+ if (lifecycles != null)
{
- if (e.getSuppressed() != null)
- {
- for (Throwable t:e.getSuppressed())
- t.printStackTrace();
- }
+ Collection<LifeCycleCallback> tmp = lifecycles.getPostConstructCallbacks();
+
+ for (LifeCycleCallback c:tmp)
+ {
+ out.openTag("post-construct");
+ out.tag("lifecycle-callback-class", c.getTargetClassName());
+ out.tag("lifecycle-callback-method", c.getMethodName());
+ out.closeTag();
+ }
+
+ tmp = lifecycles.getPreDestroyCallbacks();
+ for (LifeCycleCallback c:tmp)
+ {
+ out.openTag("pre-destroy");
+ out.tag("lifecycle-callback-class", c.getTargetClassName());
+ out.tag("lifecycle-callback-method", c.getMethodName());
+ out.closeTag();
+ }
}
-
- return webXml;
+
+ out.literal(_extraXML);
+
+ out.closeTag();
}
/**
@@ -584,8 +567,18 @@ public class QuickStartDescriptorGenerator
out.tag(tag + "-name",n);
String ot = n + "." + tag + ".";
+
+ if (holder instanceof FilterHolder)
+ out.tag(tag + "-class",origin(md,ot + tag + "-class"),holder.getClassName());
+ else if (holder instanceof ServletHolder)
+ {
+ ServletHolder s = (ServletHolder)holder;
+ if (s.getForcedPath() != null && s.getClassName() == null)
+ out.tag("jsp-file",s.getForcedPath());
+ else
+ out.tag(tag + "-class",origin(md,ot + tag + "-class"),s.getClassName());
- out.tag(tag + "-class",origin(md,ot + tag + "-class"),holder.getClassName());
+ }
for (String p : holder.getInitParameters().keySet())
{
@@ -600,10 +593,7 @@ public class QuickStartDescriptorGenerator
if (holder instanceof ServletHolder)
{
ServletHolder s = (ServletHolder)holder;
- if (s.getForcedPath() != null)
- out.tag("jsp-file",s.getForcedPath());
-
- if (s.getInitOrder() != 0)
+ if (s.getInitOrder() >= 0)
out.tag("load-on-startup",Integer.toString(s.getInitOrder()));
if (s.getRunAsRole() != null)
diff --git a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartWebApp.java b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartWebApp.java
index 959cf8015c..0372e52cb9 100644
--- a/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartWebApp.java
+++ b/jetty-quickstart/src/main/java/org/eclipse/jetty/quickstart/QuickStartWebApp.java
@@ -18,6 +18,8 @@
package org.eclipse.jetty.quickstart;
+import java.io.FileOutputStream;
+
import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
import org.eclipse.jetty.util.resource.JarResource;
@@ -32,6 +34,8 @@ public class QuickStartWebApp extends WebAppContext
{
private static final Logger LOG = Log.getLogger(QuickStartWebApp.class);
+
+
public static final String[] __configurationClasses = new String[]
{
org.eclipse.jetty.quickstart.QuickStartConfiguration.class.getCanonicalName(),
@@ -164,8 +168,14 @@ public class QuickStartWebApp extends WebAppContext
public void generateQuickstartWebXml(String extraXML) throws Exception
{
- QuickStartDescriptorGenerator generator = new QuickStartDescriptorGenerator(this, this.getWebInf().getFile(), extraXML);
- generator.generateQuickStartWebXml();
+ Resource descriptor = getWebInf().addPath(QuickStartDescriptorGenerator.DEFAULT_QUICKSTART_DESCRIPTOR_NAME);
+ if (!descriptor.exists())
+ descriptor.getFile().createNewFile();
+ QuickStartDescriptorGenerator generator = new QuickStartDescriptorGenerator(this, extraXML);
+ try (FileOutputStream fos = new FileOutputStream(descriptor.getFile()))
+ {
+ generator.generateQuickStartWebXml(fos);
+ }
}
diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/ServerConnectorTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/ServerConnectorTest.java
new file mode 100644
index 0000000000..03ee046aa8
--- /dev/null
+++ b/jetty-server/src/test/java/org/eclipse/jetty/server/ServerConnectorTest.java
@@ -0,0 +1,197 @@
+//
+// ========================================================================
+// Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd.
+// ------------------------------------------------------------------------
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// and Apache License v2.0 which accompanies this distribution.
+//
+// The Eclipse Public License is available at
+// http://www.eclipse.org/legal/epl-v10.html
+//
+// The Apache License v2.0 is available at
+// http://www.opensource.org/licenses/apache2.0.php
+//
+// You may elect to redistribute this code under either of these licenses.
+// ========================================================================
+//
+
+package org.eclipse.jetty.server;
+
+import static org.hamcrest.Matchers.*;
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.lang.reflect.Field;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.Socket;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.nio.charset.StandardCharsets;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.eclipse.jetty.io.ChannelEndPoint;
+import org.eclipse.jetty.io.EndPoint;
+import org.eclipse.jetty.server.handler.AbstractHandler;
+import org.eclipse.jetty.server.handler.DefaultHandler;
+import org.eclipse.jetty.server.handler.HandlerList;
+import org.eclipse.jetty.util.IO;
+import org.junit.Test;
+
+public class ServerConnectorTest
+{
+ public static class ReuseInfoHandler extends AbstractHandler
+ {
+ @Override
+ public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
+ {
+ response.setContentType("text/plain");
+
+ EndPoint endPoint = baseRequest.getHttpChannel().getEndPoint();
+ assertThat("Endpoint",endPoint,instanceOf(ChannelEndPoint.class));
+ ChannelEndPoint channelEndPoint = (ChannelEndPoint)endPoint;
+ Socket socket = channelEndPoint.getSocket();
+ ServerConnector connector = (ServerConnector)baseRequest.getHttpChannel().getConnector();
+
+ PrintWriter out = response.getWriter();
+ out.printf("connector.getReuseAddress() = %b%n",connector.getReuseAddress());
+
+ try
+ {
+ Field fld = connector.getClass().getDeclaredField("_reuseAddress");
+ assertThat("Field[_reuseAddress]",fld,notNullValue());
+ fld.setAccessible(true);
+ Object val = fld.get(connector);
+ out.printf("connector._reuseAddress() = %b%n",val);
+ }
+ catch (Throwable t)
+ {
+ t.printStackTrace(out);
+ }
+
+ out.printf("socket.getReuseAddress() = %b%n",socket.getReuseAddress());
+
+ baseRequest.setHandled(true);
+ }
+ }
+
+ private URI toServerURI(ServerConnector connector) throws URISyntaxException
+ {
+ String host = connector.getHost();
+ if (host == null)
+ {
+ host = "localhost";
+ }
+ int port = connector.getLocalPort();
+ return new URI(String.format("http://%s:%d/",host,port));
+ }
+
+ private String getResponse(URI uri) throws MalformedURLException, IOException
+ {
+ HttpURLConnection http = (HttpURLConnection)uri.toURL().openConnection();
+ assertThat("Valid Response Code",http.getResponseCode(),anyOf(is(200),is(404)));
+
+ try (InputStream in = http.getInputStream())
+ {
+ return IO.toString(in,StandardCharsets.UTF_8);
+ }
+ }
+
+ @Test
+ public void testReuseAddress_Default() throws Exception
+ {
+ Server server = new Server();
+ ServerConnector connector = new ServerConnector(server);
+ connector.setPort(0);
+ server.addConnector(connector);
+
+ HandlerList handlers = new HandlerList();
+ handlers.addHandler(new ReuseInfoHandler());
+ handlers.addHandler(new DefaultHandler());
+
+ server.setHandler(handlers);
+
+ try
+ {
+ server.start();
+
+ URI uri = toServerURI(connector);
+ String response = getResponse(uri);
+ assertThat("Response",response,containsString("connector.getReuseAddress() = true"));
+ assertThat("Response",response,containsString("connector._reuseAddress() = true"));
+ assertThat("Response",response,containsString("socket.getReuseAddress() = true"));
+ }
+ finally
+ {
+ server.stop();
+ }
+ }
+
+ @Test
+ public void testReuseAddress_True() throws Exception
+ {
+ Server server = new Server();
+ ServerConnector connector = new ServerConnector(server);
+ connector.setPort(0);
+ connector.setReuseAddress(true);
+ server.addConnector(connector);
+
+ HandlerList handlers = new HandlerList();
+ handlers.addHandler(new ReuseInfoHandler());
+ handlers.addHandler(new DefaultHandler());
+
+ server.setHandler(handlers);
+
+ try
+ {
+ server.start();
+
+ URI uri = toServerURI(connector);
+ String response = getResponse(uri);
+ assertThat("Response",response,containsString("connector.getReuseAddress() = true"));
+ assertThat("Response",response,containsString("connector._reuseAddress() = true"));
+ assertThat("Response",response,containsString("socket.getReuseAddress() = true"));
+ }
+ finally
+ {
+ server.stop();
+ }
+ }
+
+ @Test
+ public void testReuseAddress_False() throws Exception
+ {
+ Server server = new Server();
+ ServerConnector connector = new ServerConnector(server);
+ connector.setPort(0);
+ connector.setReuseAddress(false);
+ server.addConnector(connector);
+
+ HandlerList handlers = new HandlerList();
+ handlers.addHandler(new ReuseInfoHandler());
+ handlers.addHandler(new DefaultHandler());
+
+ server.setHandler(handlers);
+
+ try
+ {
+ server.start();
+
+ URI uri = toServerURI(connector);
+ String response = getResponse(uri);
+ assertThat("Response",response,containsString("connector.getReuseAddress() = false"));
+ assertThat("Response",response,containsString("connector._reuseAddress() = false"));
+ assertThat("Response",response,containsString("socket.getReuseAddress() = false"));
+ }
+ finally
+ {
+ server.stop();
+ }
+ }
+}
diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java
index d180e46fda..2ed3b50285 100644
--- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java
+++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java
@@ -849,18 +849,6 @@ public class ServletHandler extends ScopedHandler
{
try
{
- /* if (servlet.getClassName() == null && servlet.getForcedPath() != null)
- {
- ServletHolder forced_holder = _servletPathMap.match(servlet.getForcedPath());
- if (forced_holder == null || forced_holder.getClassName() == null)
- {
- mx.add(new IllegalStateException("No forced path servlet for " + servlet.getForcedPath()));
- continue;
- }
- System.err.println("ServletHandler setting forced path classname to "+forced_holder.getClassName()+ " for "+servlet.getForcedPath());
- servlet.setClassName(forced_holder.getClassName());
- }*/
-
servlet.start();
servlet.initialize();
}
diff --git a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java
index 052911e1f2..51294d8b58 100644
--- a/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java
+++ b/jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHolder.java
@@ -18,6 +18,7 @@
package org.eclipse.jetty.servlet;
+import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
import java.util.ArrayList;
@@ -596,7 +597,7 @@ public class ServletHolder extends Holder<Servlet> implements UserIdentity.Scope
initMultiPart();
if (LOG.isDebugEnabled())
- LOG.debug("Filter.init {}",_servlet);
+ LOG.debug("Servlet.init {}",_servlet);
_servlet.init(_config);
}
catch (UnavailableException e)
@@ -652,6 +653,18 @@ public class ServletHolder extends Holder<Servlet> implements UserIdentity.Scope
if (classpath != null)
setInitParameter("classpath", classpath);
}
+
+ /* ensure scratch dir */
+ File scratch = null;
+ if (getInitParameter("scratchdir") == null)
+ {
+ File tmp = (File)getServletHandler().getServletContext().getAttribute(ServletContext.TEMPDIR);
+ scratch = new File(tmp, "jsp");
+ setInitParameter("scratchdir", scratch.getAbsolutePath());
+ }
+
+ scratch = new File (getInitParameter("scratchdir"));
+ if (!scratch.exists()) scratch.mkdir();
}
/* ------------------------------------------------------------ */
diff --git a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java
index c2ac6f6d87..ecee109d83 100644
--- a/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java
+++ b/jetty-webapp/src/main/java/org/eclipse/jetty/webapp/StandardDescriptorProcessor.java
@@ -283,23 +283,15 @@ public class StandardDescriptorProcessor extends IterativeDescriptorProcessor
}
String servlet_class = node.getString("servlet-class", false, true);
-
+ if ("".equals(servlet_class))
+ servlet_class = null;
//Handle the default jsp servlet instance
- if (id != null && id.equals("jsp"))
+ if (id != null && id.equals("jsp") && servlet_class != null)
{
try
{
Loader.loadClass(this.getClass(), servlet_class);
-
- //Ensure there is a scratch dir
- if (holder.getInitParameter("scratchdir") == null)
- {
- File tmp = context.getTempDirectory();
- File scratch = new File(tmp, "jsp");
- if (!scratch.exists()) scratch.mkdir();
- holder.setInitParameter("scratchdir", scratch.getAbsolutePath());
- }
}
catch (ClassNotFoundException e)
{
diff --git a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/DecoderFactory.java b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/DecoderFactory.java
index c89718592c..7a74bbeee8 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/DecoderFactory.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/DecoderFactory.java
@@ -20,7 +20,6 @@ package org.eclipse.jetty.websocket.jsr356;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-
import javax.websocket.Decoder;
import javax.websocket.EndpointConfig;
@@ -99,7 +98,10 @@ public class DecoderFactory implements Configurable
public DecoderMetadata getMetadataFor(Class<?> type)
{
- LOG.debug("getMetadataFor({})",type);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("getMetadataFor({})",type);
+ }
DecoderMetadata metadata = metadatas.getMetadataByType(type);
if (metadata != null)
@@ -147,7 +149,10 @@ public class DecoderFactory implements Configurable
@Override
public void init(EndpointConfig config)
{
- LOG.debug("init({})",config);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("init({})",config);
+ }
// Instantiate all declared decoders
for (DecoderMetadata metadata : metadatas)
{
diff --git a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/EncoderFactory.java b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/EncoderFactory.java
index fda780b7b4..a41aa96b9f 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/EncoderFactory.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/EncoderFactory.java
@@ -20,7 +20,6 @@ package org.eclipse.jetty.websocket.jsr356;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-
import javax.websocket.Encoder;
import javax.websocket.EndpointConfig;
@@ -92,7 +91,10 @@ public class EncoderFactory implements Configurable
public EncoderMetadata getMetadataFor(Class<?> type)
{
- LOG.debug("getMetadataFor({})",type);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("getMetadataFor({})",type);
+ }
EncoderMetadata metadata = metadatas.getMetadataByType(type);
if (metadata != null)
@@ -140,7 +142,10 @@ public class EncoderFactory implements Configurable
@Override
public void init(EndpointConfig config)
{
- LOG.debug("init({})",config);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("init({})",config);
+ }
// Instantiate all declared encoders
for (EncoderMetadata metadata : metadatas)
diff --git a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerFactory.java b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerFactory.java
index 5bf5a4685e..8ab00ea537 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerFactory.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/MessageHandlerFactory.java
@@ -22,7 +22,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-
import javax.websocket.MessageHandler;
import org.eclipse.jetty.util.log.Log;
@@ -46,7 +45,10 @@ public class MessageHandlerFactory
public List<MessageHandlerMetadata> getMetadata(Class<? extends MessageHandler> handler) throws IllegalStateException
{
- LOG.debug("getMetadata({})",handler);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("getMetadata({})",handler);
+ }
List<MessageHandlerMetadata> ret = registered.get(handler);
if (ret != null)
{
@@ -64,19 +66,31 @@ public class MessageHandlerFactory
if (MessageHandler.Partial.class.isAssignableFrom(handler))
{
- LOG.debug("supports Partial: {}",handler);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("supports Partial: {}",handler);
+ }
partial = true;
Class<?> onMessageClass = ReflectUtils.findGenericClassFor(handler,MessageHandler.Partial.class);
- LOG.debug("Partial message class: {}",onMessageClass);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Partial message class: {}",onMessageClass);
+ }
metadatas.add(new MessageHandlerMetadata(handler,onMessageClass,partial));
}
if (MessageHandler.Whole.class.isAssignableFrom(handler))
{
- LOG.debug("supports Whole: {}",handler.getName());
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("supports Whole: {}",handler.getName());
+ }
partial = false;
Class<?> onMessageClass = ReflectUtils.findGenericClassFor(handler,MessageHandler.Whole.class);
- LOG.debug("Whole message class: {}",onMessageClass);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Whole message class: {}",onMessageClass);
+ }
metadatas.add(new MessageHandlerMetadata(handler,onMessageClass,partial));
}
diff --git a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/AnnotatedEndpointScanner.java b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/AnnotatedEndpointScanner.java
index 655d6da92b..ac163ab42e 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/AnnotatedEndpointScanner.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/AnnotatedEndpointScanner.java
@@ -22,7 +22,6 @@ import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.LinkedList;
import java.util.List;
-
import javax.websocket.EndpointConfig;
import javax.websocket.OnClose;
import javax.websocket.OnError;
@@ -89,7 +88,10 @@ public class AnnotatedEndpointScanner<T extends Annotation, C extends EndpointCo
@Override
public void onMethodAnnotation(AnnotatedEndpointMetadata<T, C> metadata, Class<?> pojo, Method method, Annotation annotation)
{
- LOG.debug("onMethodAnnotation({}, {}, {}, {})",metadata,pojo,method,annotation);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("onMethodAnnotation({}, {}, {}, {})",metadata,pojo,method,annotation);
+ }
if (isAnnotation(annotation,OnOpen.class))
{
@@ -190,11 +192,17 @@ public class AnnotatedEndpointScanner<T extends Annotation, C extends EndpointCo
{
for (IJsrParamId paramId : paramIds)
{
- LOG.debug("{}.process()",paramId);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("{}.process()",paramId);
+ }
if (paramId.process(param,callable))
{
// Successfully identified
- LOG.debug("Identified: {}",param);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Identified: {}",param);
+ }
return true;
}
}
diff --git a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrEvents.java b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrEvents.java
index efdb2fc59c..725c53dff3 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrEvents.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/annotations/JsrEvents.java
@@ -24,7 +24,6 @@ import java.io.Reader;
import java.lang.annotation.Annotation;
import java.nio.ByteBuffer;
import java.util.Map;
-
import javax.websocket.CloseReason;
import javax.websocket.DecodeException;
import javax.websocket.EndpointConfig;
@@ -110,7 +109,10 @@ public class JsrEvents<T extends Annotation, C extends EndpointConfig>
Object ret = onBinary.call(websocket,buf,fin);
if (ret != null)
{
- LOG.debug("returning: {}",ret);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("returning: {}",ret);
+ }
endpoint.sendObject(ret);
}
}
@@ -125,7 +127,10 @@ public class JsrEvents<T extends Annotation, C extends EndpointConfig>
Object ret = onBinaryStream.call(websocket,stream);
if (ret != null)
{
- LOG.debug("returning: {}",ret);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("returning: {}",ret);
+ }
endpoint.sendObject(ret);
}
}
@@ -167,7 +172,10 @@ public class JsrEvents<T extends Annotation, C extends EndpointConfig>
Object ret = onPong.call(websocket,pong);
if (ret != null)
{
- LOG.debug("returning: {}",ret);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("returning: {}",ret);
+ }
endpoint.sendObject(ret);
}
}
@@ -181,7 +189,10 @@ public class JsrEvents<T extends Annotation, C extends EndpointConfig>
Object ret = onText.call(websocket,text,fin);
if (ret != null)
{
- LOG.debug("returning: {}",ret);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("returning: {}",ret);
+ }
endpoint.sendObject(ret);
}
}
@@ -195,7 +206,10 @@ public class JsrEvents<T extends Annotation, C extends EndpointConfig>
Object ret = onTextStream.call(websocket,reader);
if (ret != null)
{
- LOG.debug("returning: {}",ret);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("returning: {}",ret);
+ }
endpoint.sendObject(ret);
}
}
diff --git a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrAnnotatedEventDriver.java b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrAnnotatedEventDriver.java
index 0cf9df7ab5..ed4dfd06af 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrAnnotatedEventDriver.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrAnnotatedEventDriver.java
@@ -23,7 +23,6 @@ import java.io.InputStream;
import java.io.Reader;
import java.nio.ByteBuffer;
import java.util.Map;
-
import javax.websocket.CloseReason;
import javax.websocket.DecodeException;
@@ -83,13 +82,19 @@ public class JsrAnnotatedEventDriver extends AbstractJsrEventDriver
if (events.isBinaryPartialSupported())
{
// Partial Message Support (does not use messageAppender)
- LOG.debug("Partial Binary Message: fin={}",fin);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Partial Binary Message: fin={}",fin);
+ }
activeMessage = new BinaryPartialOnMessage(this);
}
else
{
// Whole Message Support
- LOG.debug("Whole Binary Message");
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Whole Binary Message");
+ }
activeMessage = new SimpleBinaryMessage(this);
}
}
@@ -101,7 +106,10 @@ public class JsrAnnotatedEventDriver extends AbstractJsrEventDriver
// Streaming Message Support
if (activeMessage == null)
{
- LOG.debug("Binary Message InputStream");
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Binary Message InputStream");
+ }
final MessageInputStream stream = new MessageInputStream();
activeMessage = stream;
@@ -124,7 +132,10 @@ public class JsrAnnotatedEventDriver extends AbstractJsrEventDriver
}
}
- LOG.debug("handled = {}",handled);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("handled = {}",handled);
+ }
// Process any active MessageAppender
if (handled && (activeMessage != null))
@@ -290,13 +301,19 @@ public class JsrAnnotatedEventDriver extends AbstractJsrEventDriver
if (events.isTextPartialSupported())
{
// Partial Message Support
- LOG.debug("Partial Text Message: fin={}",fin);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Partial Text Message: fin={}",fin);
+ }
activeMessage = new TextPartialOnMessage(this);
}
else
{
// Whole Message Support
- LOG.debug("Whole Text Message");
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Whole Text Message");
+ }
activeMessage = new SimpleTextMessage(this);
}
}
@@ -308,7 +325,10 @@ public class JsrAnnotatedEventDriver extends AbstractJsrEventDriver
// Streaming Message Support
if (activeMessage == null)
{
- LOG.debug("Text Message Writer");
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Text Message Writer");
+ }
final MessageReader stream = new MessageReader(new MessageInputStream());
activeMessage = stream;
@@ -332,7 +352,10 @@ public class JsrAnnotatedEventDriver extends AbstractJsrEventDriver
}
}
- LOG.debug("handled = {}",handled);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("handled = {}", handled);
+ }
// Process any active MessageAppender
if (handled && (activeMessage != null))
@@ -347,7 +370,10 @@ public class JsrAnnotatedEventDriver extends AbstractJsrEventDriver
@Override
public void onTextMessage(String message)
{
- LOG.debug("onText({})",message);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("onText({})",message);
+ }
try
{
diff --git a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrEndpointEventDriver.java b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrEndpointEventDriver.java
index 8df798516c..1bed5196f5 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrEndpointEventDriver.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/endpoints/JsrEndpointEventDriver.java
@@ -23,7 +23,6 @@ import java.io.InputStream;
import java.io.Reader;
import java.nio.ByteBuffer;
import java.util.Map;
-
import javax.websocket.CloseReason;
import javax.websocket.Endpoint;
import javax.websocket.MessageHandler;
@@ -76,7 +75,10 @@ public class JsrEndpointEventDriver extends AbstractJsrEventDriver
final MessageHandlerWrapper wrapper = jsrsession.getMessageHandlerWrapper(MessageType.BINARY);
if (wrapper == null)
{
- LOG.debug("No BINARY MessageHandler declared");
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("No BINARY MessageHandler declared");
+ }
return;
}
if (wrapper.wantsPartialMessages())
@@ -128,7 +130,10 @@ public class JsrEndpointEventDriver extends AbstractJsrEventDriver
@Override
public void onConnect()
{
- LOG.debug("onConnect({}, {})",jsrsession,config);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("onConnect({}, {})",jsrsession,config);
+ }
try
{
endpoint.onOpen(jsrsession,config);
@@ -171,7 +176,10 @@ public class JsrEndpointEventDriver extends AbstractJsrEventDriver
final MessageHandlerWrapper wrapper = jsrsession.getMessageHandlerWrapper(MessageType.TEXT);
if (wrapper == null)
{
- LOG.debug("No TEXT MessageHandler declared");
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("No TEXT MessageHandler declared");
+ }
return;
}
if (wrapper.wantsPartialMessages())
@@ -232,7 +240,10 @@ public class JsrEndpointEventDriver extends AbstractJsrEventDriver
final MessageHandlerWrapper wrapper = jsrsession.getMessageHandlerWrapper(MessageType.PONG);
if (wrapper == null)
{
- LOG.debug("No PONG MessageHandler declared");
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("No PONG MessageHandler declared");
+ }
return;
}
diff --git a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EncoderTest.java b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EncoderTest.java
index 6931999e1c..f90641ffed 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EncoderTest.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EncoderTest.java
@@ -18,8 +18,6 @@
package org.eclipse.jetty.websocket.jsr356;
-import static org.hamcrest.Matchers.*;
-
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
@@ -28,7 +26,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-
import javax.websocket.ClientEndpointConfig;
import javax.websocket.ContainerProvider;
import javax.websocket.EncodeException;
@@ -52,6 +49,8 @@ import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
+import static org.hamcrest.Matchers.containsString;
+
public class EncoderTest
{
private static class EchoServer implements Runnable
@@ -182,7 +181,8 @@ public class EncoderTest
public void write(Quotes quotes) throws IOException, EncodeException
{
- LOG.debug("Writing Quotes: {}",quotes);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Writing Quotes: {}",quotes);
this.session.getBasicRemote().sendObject(quotes);
}
}
diff --git a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EndpointEchoClient.java b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EndpointEchoClient.java
index 958761bd1e..6d2df3201b 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EndpointEchoClient.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EndpointEchoClient.java
@@ -18,10 +18,7 @@
package org.eclipse.jetty.websocket.jsr356;
-import static org.hamcrest.Matchers.notNullValue;
-
import java.io.IOException;
-
import javax.websocket.CloseReason;
import javax.websocket.Endpoint;
import javax.websocket.EndpointConfig;
@@ -31,6 +28,8 @@ import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
import org.junit.Assert;
+import static org.hamcrest.Matchers.notNullValue;
+
/**
* Basic Echo Client from extended Endpoint
*/
@@ -49,7 +48,8 @@ public class EndpointEchoClient extends Endpoint
@Override
public void onOpen(Session session, EndpointConfig config)
{
- LOG.debug("onOpen({}, {})",session,config);
+ if (LOG.isDebugEnabled())
+ LOG.debug("onOpen({}, {})",session,config);
this.session = session;
Assert.assertThat("Session is required",session,notNullValue());
Assert.assertThat("EndpointConfig is required",config,notNullValue());
diff --git a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EndpointEchoTest.java b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EndpointEchoTest.java
index 858f3414bc..478e1683a8 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EndpointEchoTest.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/EndpointEchoTest.java
@@ -18,11 +18,8 @@
package org.eclipse.jetty.websocket.jsr356;
-import static org.hamcrest.Matchers.instanceOf;
-
import java.net.URI;
import java.util.concurrent.TimeUnit;
-
import javax.websocket.ContainerProvider;
import javax.websocket.Session;
import javax.websocket.WebSocketContainer;
@@ -38,6 +35,8 @@ import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
+import static org.hamcrest.Matchers.instanceOf;
+
public class EndpointEchoTest
{
private static final Logger LOG = Log.getLogger(EndpointEchoTest.class);
@@ -92,9 +91,11 @@ public class EndpointEchoTest
Assert.assertThat(echoer,instanceOf(javax.websocket.Endpoint.class));
// Issue connect using instance of class that extends Endpoint
Session session = container.connectToServer(echoer,serverUri);
- LOG.debug("Client Connected: {}",session);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Client Connected: {}",session);
session.getBasicRemote().sendText("Echo");
- LOG.debug("Client Message Sent");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Client Message Sent");
echoer.textCapture.messageQueue.awaitMessages(1,1000,TimeUnit.MILLISECONDS);
}
@@ -104,9 +105,11 @@ public class EndpointEchoTest
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
// Issue connect using class reference (class extends Endpoint)
Session session = container.connectToServer(EndpointEchoClient.class,serverUri);
- LOG.debug("Client Connected: {}",session);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Client Connected: {}",session);
session.getBasicRemote().sendText("Echo");
- LOG.debug("Client Message Sent");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Client Message Sent");
// TODO: figure out echo verification.
// echoer.textCapture.messageQueue.awaitMessages(1,1000,TimeUnit.MILLISECONDS);
}
@@ -119,9 +122,11 @@ public class EndpointEchoTest
Assert.assertThat(echoer,instanceOf(javax.websocket.Endpoint.class));
// Issue connect using instance of class that extends abstract that extends Endpoint
Session session = container.connectToServer(echoer,serverUri);
- LOG.debug("Client Connected: {}",session);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Client Connected: {}",session);
session.getBasicRemote().sendText("Echo");
- LOG.debug("Client Message Sent");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Client Message Sent");
echoer.messageQueue.awaitMessages(1,1000,TimeUnit.MILLISECONDS);
}
@@ -131,9 +136,11 @@ public class EndpointEchoTest
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
// Issue connect using class reference (class that extends abstract that extends Endpoint)
Session session = container.connectToServer(EchoStringEndpoint.class,serverUri);
- LOG.debug("Client Connected: {}",session);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Client Connected: {}",session);
session.getBasicRemote().sendText("Echo");
- LOG.debug("Client Message Sent");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Client Message Sent");
// TODO: figure out echo verification.
// echoer.messageQueue.awaitMessages(1,1000,TimeUnit.MILLISECONDS);
}
diff --git a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/MessageQueue.java b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/MessageQueue.java
index 71abd3a01f..52d8120b1c 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/MessageQueue.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/MessageQueue.java
@@ -34,7 +34,10 @@ public class MessageQueue extends BlockingArrayQueue<String>
long msDur = TimeUnit.MILLISECONDS.convert(timeoutDuration,timeoutUnit);
long now = System.currentTimeMillis();
long expireOn = now + msDur;
- LOG.debug("Await Message.. Now: {} - expireOn: {} ({} ms)",now,expireOn,msDur);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Await Message.. Now: {} - expireOn: {} ({} ms)",now,expireOn,msDur);
+ }
while (this.size() < expectedMessageCount)
{
diff --git a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScanner_InvalidSignaturesTest.java b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScanner_InvalidSignaturesTest.java
index 8687ca5c47..b7c110264a 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScanner_InvalidSignaturesTest.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/ClientAnnotatedEndpointScanner_InvalidSignaturesTest.java
@@ -18,13 +18,10 @@
package org.eclipse.jetty.websocket.jsr356.endpoints;
-import static org.hamcrest.Matchers.containsString;
-
import java.lang.annotation.Annotation;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-
import javax.websocket.ClientEndpoint;
import javax.websocket.ClientEndpointConfig;
import javax.websocket.DeploymentException;
@@ -51,6 +48,8 @@ import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
+import static org.hamcrest.Matchers.containsString;
+
/**
* Test {@link AnnotatedEndpointScanner} against various simple, 1 method, {@link ClientEndpoint} annotated classes with invalid signatures.
*/
@@ -106,7 +105,8 @@ public class ClientAnnotatedEndpointScanner_InvalidSignaturesTest
}
catch (InvalidSignatureException e)
{
- LOG.debug("{}:{}",e.getClass(),e.getMessage());
+ if (LOG.isDebugEnabled())
+ LOG.debug("{}:{}",e.getClass(),e.getMessage());
Assert.assertThat("Message",e.getMessage(),containsString(expectedAnnoClass.getSimpleName()));
}
}
diff --git a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/TrackingSocket.java b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/TrackingSocket.java
index 23a7a74b4a..a202338d17 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/TrackingSocket.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/endpoints/TrackingSocket.java
@@ -18,13 +18,8 @@
package org.eclipse.jetty.websocket.jsr356.endpoints;
-import static org.hamcrest.Matchers.greaterThanOrEqualTo;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-
import javax.websocket.CloseReason;
import javax.websocket.CloseReason.CloseCode;
@@ -33,6 +28,10 @@ import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
import org.junit.Assert;
+import static org.hamcrest.Matchers.greaterThanOrEqualTo;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+
/**
* Abstract base socket used for tracking state and events within the socket for testing reasons.
*/
@@ -121,7 +120,8 @@ public abstract class TrackingSocket
public void waitForData(int timeoutDuration, TimeUnit timeoutUnit) throws InterruptedException
{
- LOG.debug("Waiting for message");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Waiting for message");
Assert.assertThat("Data Received",dataLatch.await(timeoutDuration,timeoutUnit),is(true));
}
}
diff --git a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/samples/AbstractStringEndpoint.java b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/samples/AbstractStringEndpoint.java
index d936da14b3..cd50fc66e3 100644
--- a/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/samples/AbstractStringEndpoint.java
+++ b/jetty-websocket/javax-websocket-client-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/samples/AbstractStringEndpoint.java
@@ -39,7 +39,8 @@ public abstract class AbstractStringEndpoint extends Endpoint implements Message
@Override
public void onOpen(Session session, EndpointConfig config)
{
- LOG.debug("onOpen({}, {})",session,config);
+ if (LOG.isDebugEnabled())
+ LOG.debug("onOpen({}, {})",session,config);
session.addMessageHandler(this);
this.session = session;
this.config = config;
@@ -47,7 +48,8 @@ public abstract class AbstractStringEndpoint extends Endpoint implements Message
public void onClose(Session session, CloseReason closeReason)
{
- LOG.debug("onClose({}, {})",session,closeReason);
+ if (LOG.isDebugEnabled())
+ LOG.debug("onClose({}, {})",session,closeReason);
this.session = null;
}
diff --git a/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/BasicServerEndpointConfigurator.java b/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/BasicServerEndpointConfigurator.java
index 5d17d99802..89f4c914e7 100644
--- a/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/BasicServerEndpointConfigurator.java
+++ b/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/BasicServerEndpointConfigurator.java
@@ -19,7 +19,6 @@
package org.eclipse.jetty.websocket.jsr356.server;
import java.util.List;
-
import javax.websocket.Extension;
import javax.websocket.HandshakeResponse;
import javax.websocket.server.HandshakeRequest;
@@ -44,7 +43,10 @@ public class BasicServerEndpointConfigurator extends ServerEndpointConfig.Config
@Override
public <T> T getEndpointInstance(Class<T> endpointClass) throws InstantiationException
{
- LOG.debug(".getEndpointInstance({})",endpointClass);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug(".getEndpointInstance({})",endpointClass);
+ }
try
{
return endpointClass.newInstance();
diff --git a/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/JsrCreator.java b/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/JsrCreator.java
index 211ebbf9a5..729d0bf1df 100644
--- a/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/JsrCreator.java
+++ b/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/JsrCreator.java
@@ -21,7 +21,6 @@ package org.eclipse.jetty.websocket.jsr356.server;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-
import javax.websocket.Extension;
import javax.websocket.Extension.Parameter;
import javax.websocket.server.ServerEndpointConfig;
@@ -73,7 +72,8 @@ public class JsrCreator implements WebSocketCreator
}
catch (IOException e)
{
- LOG.debug("Unable to send error response",e);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Unable to send error response",e);
}
return null;
}
@@ -132,7 +132,8 @@ public class JsrCreator implements WebSocketCreator
}
catch (InstantiationException e)
{
- LOG.debug("Unable to create websocket: " + config.getEndpointClass().getName(),e);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Unable to create websocket: " + config.getEndpointClass().getName(),e);
return null;
}
}
diff --git a/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/deploy/WebSocketServerContainerInitializer.java b/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/deploy/WebSocketServerContainerInitializer.java
index 73b01c885d..2e1f7d9462 100644
--- a/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/deploy/WebSocketServerContainerInitializer.java
+++ b/jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/deploy/WebSocketServerContainerInitializer.java
@@ -20,7 +20,6 @@ package org.eclipse.jetty.websocket.jsr356.server.deploy;
import java.util.HashSet;
import java.util.Set;
-
import javax.servlet.ServletContainerInitializer;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
@@ -74,16 +73,26 @@ public class WebSocketServerContainerInitializer implements ServletContainerInit
if (TypeUtil.isFalse(enable))
{
if (c.isEmpty())
- LOG.debug("JSR-356 support disabled via attribute on context {} - {}",context.getContextPath(),context);
+ {
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("JSR-356 support disabled via attribute on context {} - {}",context.getContextPath(),context);
+ }
+ }
else
+ {
LOG.warn("JSR-356 support disabled via attribute on context {} - {}",context.getContextPath(),context);
+ }
return;
}
// Disabled if not explicitly enabled and there are no discovered annotations or interfaces
if (!TypeUtil.isTrue(enable) && c.isEmpty())
{
- LOG.debug("No JSR-356 annotations or interfaces discovered. JSR-356 support disabled",context.getContextPath(),context);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("No JSR-356 annotations or interfaces discovered. JSR-356 support disabled",context.getContextPath(),context);
+ }
return;
}
@@ -107,7 +116,10 @@ public class WebSocketServerContainerInitializer implements ServletContainerInit
// Store a reference to the ServerContainer per javax.websocket spec 1.0 final section 6.4 Programmatic Server Deployment
context.setAttribute(javax.websocket.server.ServerContainer.class.getName(),jettyContainer);
- LOG.debug("Found {} classes",c.size());
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Found {} classes",c.size());
+ }
// Now process the incoming classes
Set<Class<? extends Endpoint>> discoveredExtendedEndpoints = new HashSet<>();
@@ -116,9 +128,12 @@ public class WebSocketServerContainerInitializer implements ServletContainerInit
filterClasses(c,discoveredExtendedEndpoints,discoveredAnnotatedEndpoints,serverAppConfigs);
- LOG.debug("Discovered {} extends Endpoint classes",discoveredExtendedEndpoints.size());
- LOG.debug("Discovered {} @ServerEndpoint classes",discoveredAnnotatedEndpoints.size());
- LOG.debug("Discovered {} ServerApplicationConfig classes",serverAppConfigs.size());
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Discovered {} extends Endpoint classes",discoveredExtendedEndpoints.size());
+ LOG.debug("Discovered {} @ServerEndpoint classes",discoveredAnnotatedEndpoints.size());
+ LOG.debug("Discovered {} ServerApplicationConfig classes",serverAppConfigs.size());
+ }
// Process the server app configs to determine endpoint filtering
boolean wasFiltered = false;
@@ -127,7 +142,10 @@ public class WebSocketServerContainerInitializer implements ServletContainerInit
for (Class<? extends ServerApplicationConfig> clazz : serverAppConfigs)
{
- LOG.debug("Found ServerApplicationConfig: {}",clazz);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Found ServerApplicationConfig: {}",clazz);
+ }
try
{
ServerApplicationConfig config = clazz.newInstance();
@@ -160,8 +178,11 @@ public class WebSocketServerContainerInitializer implements ServletContainerInit
deployableExtendedEndpointConfigs = new HashSet<>();
}
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Deploying {} ServerEndpointConfig(s)",deployableExtendedEndpointConfigs.size());
+ }
// Deploy what should be deployed.
- LOG.debug("Deploying {} ServerEndpointConfig(s)",deployableExtendedEndpointConfigs.size());
for (ServerEndpointConfig config : deployableExtendedEndpointConfigs)
{
try
@@ -174,7 +195,10 @@ public class WebSocketServerContainerInitializer implements ServletContainerInit
}
}
- LOG.debug("Deploying {} @ServerEndpoint(s)",deployableAnnotatedEndpoints.size());
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Deploying {} @ServerEndpoint(s)",deployableAnnotatedEndpoints.size());
+ }
for (Class<?> annotatedClass : deployableAnnotatedEndpoints)
{
try
diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ConfiguratorTest.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ConfiguratorTest.java
index 339d4776ba..2c68effda3 100644
--- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ConfiguratorTest.java
+++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ConfiguratorTest.java
@@ -18,15 +18,12 @@
package org.eclipse.jetty.websocket.jsr356.server;
-import static org.hamcrest.Matchers.*;
-
import java.net.URI;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
-
import javax.websocket.Extension;
import javax.websocket.HandshakeResponse;
import javax.websocket.OnMessage;
@@ -52,6 +49,9 @@ import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.nullValue;
+
public class ConfiguratorTest
{
private static final Logger LOG = Log.getLogger(ConfiguratorTest.class);
@@ -191,7 +191,8 @@ public class ConfiguratorTest
}
int port = connector.getLocalPort();
baseServerUri = new URI(String.format("ws://%s:%d/",host,port));
- LOG.debug("Server started on {}",baseServerUri);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Server started on {}",baseServerUri);
}
@AfterClass
diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/DummyConnection.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/DummyConnection.java
index 7111ed7ef2..9db71b7124 100644
--- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/DummyConnection.java
+++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/DummyConnection.java
@@ -145,7 +145,8 @@ public class DummyConnection implements LogicalConnection
@Override
public void setNextIncomingFrames(IncomingFrames incoming)
{
- LOG.debug("setNextIncomingFrames({})",incoming);
+ if (LOG.isDebugEnabled())
+ LOG.debug("setNextIncomingFrames({})",incoming);
}
@Override
diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/IdleTimeoutTest.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/IdleTimeoutTest.java
index db85dc06b7..1c84bc1e1f 100644
--- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/IdleTimeoutTest.java
+++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/IdleTimeoutTest.java
@@ -18,9 +18,6 @@
package org.eclipse.jetty.websocket.jsr356.server;
-import static org.hamcrest.Matchers.*;
-import static org.junit.Assert.*;
-
import java.io.IOException;
import java.net.URI;
import java.util.Queue;
@@ -46,6 +43,10 @@ import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
+import static org.hamcrest.Matchers.empty;
+import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertThat;
+
public class IdleTimeoutTest
{
private static final Logger LOG = Log.getLogger(IdleTimeoutTest.class);
@@ -90,15 +91,19 @@ public class IdleTimeoutTest
{
client.start();
JettyEchoSocket clientEcho = new JettyEchoSocket();
- LOG.debug("Client Attempting to connnect");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Client Attempting to connnect");
Future<Session> future = client.connect(clientEcho,uri);
// wait for connect
future.get(1,TimeUnit.SECONDS);
- LOG.debug("Client Connected");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Client Connected");
// wait 1 second
- LOG.debug("Waiting 1 second");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Waiting 1 second");
TimeUnit.SECONDS.sleep(1);
- LOG.debug("Waited 1 second");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Waited 1 second");
if (clientEcho.getClosed() == false)
{
// Try to write
diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScanner_InvalidSignaturesTest.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScanner_InvalidSignaturesTest.java
index 7b3fe36f6e..75e0a73629 100644
--- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScanner_InvalidSignaturesTest.java
+++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/ServerAnnotatedEndpointScanner_InvalidSignaturesTest.java
@@ -18,13 +18,10 @@
package org.eclipse.jetty.websocket.jsr356.server;
-import static org.hamcrest.Matchers.containsString;
-
import java.lang.annotation.Annotation;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-
import javax.websocket.DeploymentException;
import javax.websocket.OnClose;
import javax.websocket.OnError;
@@ -49,6 +46,8 @@ import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
+import static org.hamcrest.Matchers.containsString;
+
/**
* Test {@link AnnotatedEndpointScanner} against various simple, 1 method {@link ServerEndpoint} annotated classes with invalid signatures.
*/
@@ -104,7 +103,8 @@ public class ServerAnnotatedEndpointScanner_InvalidSignaturesTest
}
catch (InvalidSignatureException e)
{
- LOG.debug("{}:{}",e.getClass(),e.getMessage());
+ if (LOG.isDebugEnabled())
+ LOG.debug("{}:{}",e.getClass(),e.getMessage());
Assert.assertThat("Message",e.getMessage(),containsString(expectedAnnoClass.getSimpleName()));
}
}
diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/StreamTest.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/StreamTest.java
index 2a062eaa20..dbe27e340c 100644
--- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/StreamTest.java
+++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/StreamTest.java
@@ -18,8 +18,6 @@
package org.eclipse.jetty.websocket.jsr356.server;
-import static org.hamcrest.Matchers.*;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -34,7 +32,6 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-
import javax.websocket.ClientEndpoint;
import javax.websocket.CloseReason;
import javax.websocket.CloseReason.CloseCode;
@@ -71,6 +68,9 @@ import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
+import static org.hamcrest.Matchers.equalToIgnoringCase;
+import static org.hamcrest.Matchers.is;
+
public class StreamTest
{
private static final Logger LOG = Log.getLogger(StreamTest.class);
@@ -114,7 +114,8 @@ public class StreamTest
}
int port = connector.getLocalPort();
serverUri = new URI(String.format("ws://%s:%d/",host,port));
- LOG.debug("Server started on {}",serverUri);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Server started on {}",serverUri);
}
@AfterClass
@@ -290,7 +291,8 @@ public class StreamTest
if (outputFile.exists())
{
closeReason = String.format("Received %,d bytes",outputFile.length());
- LOG.debug(closeReason);
+ if (LOG.isDebugEnabled())
+ LOG.debug(closeReason);
}
else
{
diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/TrackingSocket.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/TrackingSocket.java
index da417a4e1b..18d35d9eaa 100644
--- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/TrackingSocket.java
+++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/TrackingSocket.java
@@ -18,13 +18,8 @@
package org.eclipse.jetty.websocket.jsr356.server;
-import static org.hamcrest.Matchers.greaterThanOrEqualTo;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.notNullValue;
-
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-
import javax.websocket.CloseReason;
import javax.websocket.CloseReason.CloseCode;
@@ -33,6 +28,10 @@ import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
import org.junit.Assert;
+import static org.hamcrest.Matchers.greaterThanOrEqualTo;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+
/**
* Abstract base socket used for tracking state and events within the socket for testing reasons.
*/
@@ -121,7 +120,8 @@ public abstract class TrackingSocket
public void waitForData(int timeoutDuration, TimeUnit timeoutUnit) throws InterruptedException
{
- LOG.debug("Waiting for message");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Waiting for message");
Assert.assertThat("Data Received",dataLatch.await(timeoutDuration,timeoutUnit),is(true));
}
}
diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/WSServer.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/WSServer.java
index 9297c7f3d2..cd636f821e 100644
--- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/WSServer.java
+++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/WSServer.java
@@ -18,8 +18,6 @@
package org.eclipse.jetty.websocket.jsr356.server;
-import static org.hamcrest.Matchers.notNullValue;
-
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
@@ -49,6 +47,8 @@ import org.eclipse.jetty.webapp.WebInfConfiguration;
import org.eclipse.jetty.webapp.WebXmlConfiguration;
import org.junit.Assert;
+import static org.hamcrest.Matchers.notNullValue;
+
/**
* Utility to build out exploded directory WebApps, in the /target/tests/ directory, for testing out servers that use javax.websocket endpoints.
* <p>
@@ -178,8 +178,8 @@ public class WSServer
}
int port = connector.getLocalPort();
serverUri = new URI(String.format("ws://%s:%d%s/",host,port,contextPath));
- LOG.debug("Server started on {}",serverUri);
-
+ if (LOG.isDebugEnabled())
+ LOG.debug("Server started on {}",serverUri);
}
public void stop()
diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/browser/JsrBrowserSocket.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/browser/JsrBrowserSocket.java
index c94f7e1e86..649300062c 100644
--- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/browser/JsrBrowserSocket.java
+++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/browser/JsrBrowserSocket.java
@@ -23,7 +23,6 @@ import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Locale;
import java.util.Random;
-
import javax.websocket.CloseReason;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
@@ -206,13 +205,15 @@ public class JsrBrowserSocket
{
if (this.session == null)
{
- LOG.debug("Not connected");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Not connected");
return;
}
if (session.isOpen() == false)
{
- LOG.debug("Not open");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Not open");
return;
}
diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/pong/PongSocket.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/pong/PongSocket.java
index fe4981a991..26defa035e 100644
--- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/pong/PongSocket.java
+++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/samples/pong/PongSocket.java
@@ -19,7 +19,6 @@
package org.eclipse.jetty.websocket.jsr356.server.samples.pong;
import java.nio.charset.StandardCharsets;
-
import javax.websocket.EndpointConfig;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
@@ -48,7 +47,8 @@ public class PongSocket
@OnMessage
public void onPong(PongMessage pong)
{
- LOG.debug("onPong(): PongMessage.appData={}",BufferUtil.toDetailString(pong.getApplicationData()));
+ if (LOG.isDebugEnabled())
+ LOG.debug("onPong(): PongMessage.appData={}",BufferUtil.toDetailString(pong.getApplicationData()));
byte buf[] = BufferUtil.toArray(pong.getApplicationData());
String message = new String(buf,StandardCharsets.UTF_8);
this.session.getAsyncRemote().sendText("@OnMessage(PongMessage)[" + path + "]:" + message);
diff --git a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java
index 433f3cedd2..4a9a981620 100644
--- a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java
+++ b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java
@@ -180,8 +180,8 @@ public class WebSocketClient extends ContainerLifeCycle implements SessionListen
}
}
- // Validate websocket URI
- LOG.debug("connect websocket {} to {}",websocket,toUri);
+ if (LOG.isDebugEnabled())
+ LOG.debug("connect websocket {} to {}",websocket,toUri);
// Grab Connection Manager
initialiseClient();
@@ -213,7 +213,8 @@ public class WebSocketClient extends ContainerLifeCycle implements SessionListen
promise.setUpgradeListener(upgradeListener);
}
- LOG.debug("Connect Promise: {}",promise);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Connect Promise: {}",promise);
// Execute the connection on the executor thread
executor.execute(promise);
@@ -225,7 +226,8 @@ public class WebSocketClient extends ContainerLifeCycle implements SessionListen
@Override
protected void doStart() throws Exception
{
- LOG.debug("Starting {}",this);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Starting {}",this);
if (sslContextFactory != null)
{
@@ -253,13 +255,15 @@ public class WebSocketClient extends ContainerLifeCycle implements SessionListen
super.doStart();
- LOG.debug("Started {}",this);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Started {}",this);
}
@Override
protected void doStop() throws Exception
{
- LOG.debug("Stopping {}",this);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Stopping {}",this);
if (cookieStore != null)
{
@@ -268,7 +272,9 @@ public class WebSocketClient extends ContainerLifeCycle implements SessionListen
}
super.doStop();
- LOG.debug("Stopped {}",this);
+
+ if (LOG.isDebugEnabled())
+ LOG.debug("Stopped {}",this);
}
/**
@@ -418,10 +424,12 @@ public class WebSocketClient extends ContainerLifeCycle implements SessionListen
continue;
}
- LOG.debug("added {}",extension);
+ if (LOG.isDebugEnabled())
+ LOG.debug("added {}",extension);
extensions.add(extension);
}
- LOG.debug("extensions={}",extensions);
+ if (LOG.isDebugEnabled())
+ LOG.debug("extensions={}",extensions);
return extensions;
}
@@ -463,14 +471,16 @@ public class WebSocketClient extends ContainerLifeCycle implements SessionListen
@Override
public void onSessionClosed(WebSocketSession session)
{
- LOG.debug("Session Closed: {}",session);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Session Closed: {}",session);
removeBean(session);
}
@Override
public void onSessionOpened(WebSocketSession session)
{
- LOG.debug("Session Opened: {}",session);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Session Opened: {}",session);
}
public void setAsyncWriteTimeout(long ms)
diff --git a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
index fe385d3756..4fa47276eb 100644
--- a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
+++ b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/UpgradeConnection.java
@@ -117,11 +117,13 @@ public class UpgradeConnection extends AbstractConnection
EndPoint endPoint = getEndPoint();
// We need to gently close first, to allow
// SSL close alerts to be sent by Jetty
- LOG.debug("Shutting down output {}",endPoint);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Shutting down output {}",endPoint);
endPoint.shutdownOutput();
if (!onlyOutput)
{
- LOG.debug("Closing {}",endPoint);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Closing {}",endPoint);
endPoint.close();
}
}
diff --git a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/WebSocketClientSelectorManager.java b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/WebSocketClientSelectorManager.java
index 6616f54f99..68e2274a2a 100644
--- a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/WebSocketClientSelectorManager.java
+++ b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/WebSocketClientSelectorManager.java
@@ -22,7 +22,6 @@ import java.io.IOException;
import java.nio.channels.SelectionKey;
import java.nio.channels.SocketChannel;
import java.util.concurrent.Executor;
-
import javax.net.ssl.SSLEngine;
import org.eclipse.jetty.io.ByteBufferPool;
@@ -54,7 +53,8 @@ public class WebSocketClientSelectorManager extends SelectorManager
@Override
protected void connectionFailed(SocketChannel channel, Throwable ex, Object attachment)
{
- LOG.debug("Connection Failed",ex);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Connection Failed",ex);
ConnectPromise connect = (ConnectPromise)attachment;
connect.failed(ex);
}
@@ -67,7 +67,8 @@ public class WebSocketClientSelectorManager extends SelectorManager
@Override
public Connection newConnection(final SocketChannel channel, EndPoint endPoint, final Object attachment) throws IOException
{
- LOG.debug("newConnection({},{},{})",channel,endPoint,attachment);
+ if (LOG.isDebugEnabled())
+ LOG.debug("newConnection({},{},{})",channel,endPoint,attachment);
ConnectPromise connectPromise = (ConnectPromise)attachment;
try
@@ -114,7 +115,8 @@ public class WebSocketClientSelectorManager extends SelectorManager
@Override
protected EndPoint newEndPoint(SocketChannel channel, ManagedSelector selectSet, SelectionKey selectionKey) throws IOException
{
- LOG.debug("newEndPoint({}, {}, {})",channel,selectSet,selectionKey);
+ if (LOG.isDebugEnabled())
+ LOG.debug("newEndPoint({}, {}, {})",channel,selectSet,selectionKey);
return new SelectChannelEndPoint(channel,selectSet,selectionKey,getScheduler(),policy.getIdleTimeout());
}
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
index 04637e392d..90da7db023 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java
@@ -352,7 +352,8 @@ public class WebSocketSession extends ContainerLifeCycle implements Session, Inc
{
try
{
- LOG.debug("{}.onSessionClosed()",listener.getClass().getSimpleName());
+ if (LOG.isDebugEnabled())
+ LOG.debug("{}.onSessionClosed()",listener.getClass().getSimpleName());
listener.onSessionClosed(this);
}
catch (Throwable t)
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/AbstractEventDriver.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/AbstractEventDriver.java
index 7a55b2db4f..e5e924f100 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/AbstractEventDriver.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/AbstractEventDriver.java
@@ -167,7 +167,8 @@ public abstract class AbstractEventDriver implements IncomingFrames, EventDriver
}
default:
{
- LOG.debug("Unhandled OpCode: {}",opcode);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Unhandled OpCode: {}",opcode);
}
}
}
@@ -211,7 +212,8 @@ public abstract class AbstractEventDriver implements IncomingFrames, EventDriver
@Override
public void openSession(WebSocketSession session)
{
- LOG.debug("openSession({})",session);
+ if (LOG.isDebugEnabled())
+ LOG.debug("openSession({})",session);
this.session = session;
try
{
@@ -226,7 +228,8 @@ public abstract class AbstractEventDriver implements IncomingFrames, EventDriver
protected void terminateConnection(int statusCode, String rawreason)
{
- LOG.debug("terminateConnection({},{})",statusCode,rawreason);
+ if (LOG.isDebugEnabled())
+ LOG.debug("terminateConnection({},{})",statusCode,rawreason);
session.close(statusCode,CloseFrame.truncate(rawreason));
}
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedScanner.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedScanner.java
index 1e276e76af..6562c274bf 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedScanner.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyAnnotatedScanner.java
@@ -104,7 +104,8 @@ public class JettyAnnotatedScanner extends AbstractMethodAnnotationScanner<Jetty
@Override
public void onMethodAnnotation(JettyAnnotatedMetadata metadata, Class<?> pojo, Method method, Annotation annotation)
{
- LOG.debug("onMethodAnnotation({}, {}, {}, {})",metadata,pojo,method,annotation);
+ if (LOG.isDebugEnabled())
+ LOG.debug("onMethodAnnotation({}, {}, {}, {})",metadata,pojo,method,annotation);
if (isAnnotation(annotation,OnWebSocketConnect.class))
{
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyListenerEventDriver.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyListenerEventDriver.java
index 2a465ab751..4856c1e1dd 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyListenerEventDriver.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/events/JettyListenerEventDriver.java
@@ -82,7 +82,8 @@ public class JettyListenerEventDriver extends AbstractEventDriver
@Override
public void onConnect()
{
- LOG.debug("onConnect()");
+ if (LOG.isDebugEnabled())
+ LOG.debug("onConnect()");
listener.onWebSocketConnect(session);
}
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStack.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStack.java
index 54198baa57..0e9ad54ea4 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStack.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStack.java
@@ -77,7 +77,6 @@ public class ExtensionStack extends ContainerLifeCycle implements IncomingFrames
protected void doStart() throws Exception
{
super.doStart();
- LOG.debug("doStart");
// Wire up Extensions
if ((extensions != null) && (extensions.size() > 0))
@@ -225,7 +224,9 @@ public class ExtensionStack extends ContainerLifeCycle implements IncomingFrames
*/
public void negotiate(List<ExtensionConfig> configs)
{
- LOG.debug("Extension Configs={}",configs);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Extension Configs={}",configs);
+
this.extensions = new ArrayList<>();
String rsvClaims[] = new String[3];
@@ -260,7 +261,8 @@ public class ExtensionStack extends ContainerLifeCycle implements IncomingFrames
extensions.add(ext);
addBean(ext);
- LOG.debug("Adding Extension: {}",config);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Adding Extension: {}",config);
// Record RSV Claims
if (ext.isRsv1User())
@@ -282,7 +284,8 @@ public class ExtensionStack extends ContainerLifeCycle implements IncomingFrames
public void outgoingFrame(Frame frame, WriteCallback callback, BatchMode batchMode)
{
FrameEntry entry = new FrameEntry(frame,callback,batchMode);
- LOG.debug("Queuing {}",entry);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Queuing {}",entry);
entries.offer(entry);
flusher.iterate();
}
@@ -377,10 +380,12 @@ public class ExtensionStack extends ContainerLifeCycle implements IncomingFrames
current = entries.poll();
if (current == null)
{
- LOG.debug("Entering IDLE");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Entering IDLE");
return Action.IDLE;
}
- LOG.debug("Processing {}",current);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Processing {}",current);
nextOutgoing.outgoingFrame(current.frame,this,current.batchMode);
return Action.SCHEDULED;
}
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/compress/CompressExtension.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/compress/CompressExtension.java
index ee6c19bcfc..ef5d6d221c 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/compress/CompressExtension.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/compress/CompressExtension.java
@@ -135,7 +135,9 @@ public abstract class CompressExtension extends AbstractExtension
ByteAccumulator accumulator = new ByteAccumulator(maxSize);
decompressor.setInput(input, 0, input.length);
- LOG.debug("Decompressing {} bytes", input.length);
+
+ if (LOG.isDebugEnabled())
+ LOG.debug("Decompressing {} bytes", input.length);
try
{
@@ -164,7 +166,8 @@ public abstract class CompressExtension extends AbstractExtension
accumulator.addChunk(output, 0, decompressed);
}
}
- LOG.debug("Decompressed {}->{} bytes", input.length, accumulator.getLength());
+ if (LOG.isDebugEnabled())
+ LOG.debug("Decompressed {}->{} bytes", input.length, accumulator.getLength());
return accumulator;
}
catch (DataFormatException x)
@@ -187,7 +190,8 @@ public abstract class CompressExtension extends AbstractExtension
}
FrameEntry entry = new FrameEntry(frame, callback, batchMode);
- LOG.debug("Queuing {}", entry);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Queuing {}", entry);
entries.offer(entry);
flusher.iterate();
}
@@ -201,7 +205,8 @@ public abstract class CompressExtension extends AbstractExtension
}
catch (Throwable x)
{
- LOG.debug("Exception while notifying success of callback " + callback, x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while notifying success of callback " + callback, x);
}
}
@@ -214,7 +219,8 @@ public abstract class CompressExtension extends AbstractExtension
}
catch (Throwable x)
{
- LOG.debug("Exception while notifying failure of callback " + callback, x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while notifying failure of callback " + callback, x);
}
}
@@ -290,7 +296,8 @@ public abstract class CompressExtension extends AbstractExtension
ByteBuffer data = frame.getPayload();
int remaining = data.remaining();
int inputLength = Math.min(remaining, INPUT_BUFSIZE);
- LOG.debug("Compressing {}: {} bytes in {} bytes chunk", entry, remaining, inputLength);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Compressing {}: {} bytes in {} bytes chunk", entry, remaining, inputLength);
// Avoid to copy the bytes if the ByteBuffer
// is backed by an array.
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/fragment/FragmentExtension.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/fragment/FragmentExtension.java
index c7f567f7a5..fb11f58dd4 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/fragment/FragmentExtension.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/fragment/FragmentExtension.java
@@ -69,7 +69,8 @@ public class FragmentExtension extends AbstractExtension
}
FrameEntry entry = new FrameEntry(frame, callback, batchMode);
- LOG.debug("Queuing {}", entry);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Queuing {}", entry);
entries.offer(entry);
flusher.iterate();
}
@@ -143,7 +144,8 @@ public class FragmentExtension extends AbstractExtension
ByteBuffer payloadFragment = payload.slice();
payload.limit(limit);
fragment.setPayload(payloadFragment);
- LOG.debug("Fragmented {}->{}", frame, fragment);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Fragmented {}->{}", frame, fragment);
payload.position(newLimit);
nextOutgoingFrame(fragment, this, entry.batchMode);
@@ -193,7 +195,8 @@ public class FragmentExtension extends AbstractExtension
}
catch (Throwable x)
{
- LOG.debug("Exception while notifying success of callback " + callback, x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while notifying success of callback " + callback, x);
}
}
@@ -206,7 +209,8 @@ public class FragmentExtension extends AbstractExtension
}
catch (Throwable x)
{
- LOG.debug("Exception while notifying failure of callback " + callback, x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while notifying failure of callback " + callback, x);
}
}
}
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/AbstractWebSocketConnection.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/AbstractWebSocketConnection.java
index e00e339c4a..e696fd6209 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/AbstractWebSocketConnection.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/AbstractWebSocketConnection.java
@@ -78,7 +78,8 @@ public abstract class AbstractWebSocketConnection extends AbstractConnection imp
return;
}
- LOG.debug("Write flush failure",x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Write flush failure",x);
ioState.onWriteFailure(x);
}
}
@@ -155,7 +156,8 @@ public abstract class AbstractWebSocketConnection extends AbstractConnection imp
private void onLocalClose()
{
- LOG.debug("Local Close Confirmed {}",close);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Local Close Confirmed {}",close);
if (close.isAbnormal())
{
ioState.onAbnormalClose(close);
@@ -260,7 +262,8 @@ public abstract class AbstractWebSocketConnection extends AbstractConnection imp
@Override
public void close(int statusCode, String reason)
{
- LOG.debug("close({},{})",statusCode,reason);
+ if (LOG.isDebugEnabled())
+ LOG.debug("close({},{})",statusCode,reason);
CloseInfo close = new CloseInfo(statusCode,reason);
this.outgoingFrame(close.asFrame(),new OnCloseLocalCallback(close),BatchMode.OFF);
}
@@ -273,13 +276,15 @@ public abstract class AbstractWebSocketConnection extends AbstractConnection imp
private void disconnect(boolean onlyOutput)
{
- LOG.debug("{} disconnect({})",policy.getBehavior(),onlyOutput?"outputOnly":"both");
+ if (LOG.isDebugEnabled())
+ LOG.debug("{} disconnect({})",policy.getBehavior(),onlyOutput?"outputOnly":"both");
// close FrameFlusher, we cannot write anymore at this point.
flusher.close();
EndPoint endPoint = getEndPoint();
// We need to gently close first, to allow
// SSL close alerts to be sent by Jetty
- LOG.debug("Shutting down output {}",endPoint);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Shutting down output {}",endPoint);
endPoint.shutdownOutput();
if (!onlyOutput)
{
@@ -296,7 +301,8 @@ public abstract class AbstractWebSocketConnection extends AbstractConnection imp
}
catch (RejectedExecutionException e)
{
- LOG.debug("Job not dispatched: {}",task);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Job not dispatched: {}",task);
}
}
@@ -401,7 +407,8 @@ public abstract class AbstractWebSocketConnection extends AbstractConnection imp
@Override
public void onClose()
{
- LOG.debug("{} onClose()",policy.getBehavior());
+ if (LOG.isDebugEnabled())
+ LOG.debug("{} onClose()",policy.getBehavior());
super.onClose();
// ioState.onDisconnected();
flusher.close();
@@ -410,11 +417,13 @@ public abstract class AbstractWebSocketConnection extends AbstractConnection imp
@Override
public void onConnectionStateChange(ConnectionState state)
{
- LOG.debug("{} Connection State Change: {}",policy.getBehavior(),state);
+ if (LOG.isDebugEnabled())
+ LOG.debug("{} Connection State Change: {}",policy.getBehavior(),state);
switch (state)
{
case OPEN:
- LOG.debug("fillInterested");
+ if (LOG.isDebugEnabled())
+ LOG.debug("fillInterested");
fillInterested();
break;
case CLOSED:
@@ -446,7 +455,8 @@ public abstract class AbstractWebSocketConnection extends AbstractConnection imp
@Override
public void onFillable()
{
- LOG.debug("{} onFillable()",policy.getBehavior());
+ if (LOG.isDebugEnabled())
+ LOG.debug("{} onFillable()",policy.getBehavior());
stats.countOnFillableEvents.incrementAndGet();
ByteBuffer buffer = bufferPool.acquire(getInputBufferSize(),true);
try
@@ -501,7 +511,8 @@ public abstract class AbstractWebSocketConnection extends AbstractConnection imp
{
IOState state = getIOState();
ConnectionState cstate = state.getConnectionState();
- LOG.debug("{} Read Timeout - {}",policy.getBehavior(),cstate);
+ if (LOG.isDebugEnabled())
+ LOG.debug("{} Read Timeout - {}",policy.getBehavior(),cstate);
if (cstate == ConnectionState.CLOSED)
{
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FrameFlusher.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FrameFlusher.java
index c375bf9bf2..da4312b57c 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FrameFlusher.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FrameFlusher.java
@@ -392,7 +392,8 @@ public class FrameFlusher
}
catch (Throwable x)
{
- LOG.debug("Exception while notifying failure of callback " + callback,x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while notifying failure of callback " + callback,x);
}
}
@@ -407,7 +408,8 @@ public class FrameFlusher
}
catch (Throwable x)
{
- LOG.debug("Exception while notifying success of callback " + callback,x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Exception while notifying success of callback " + callback,x);
}
}
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FutureWriteCallback.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FutureWriteCallback.java
index 142b9a98db..10b9d7b785 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FutureWriteCallback.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/FutureWriteCallback.java
@@ -33,14 +33,16 @@ public class FutureWriteCallback extends FutureCallback implements WriteCallback
@Override
public void writeFailed(Throwable cause)
{
- LOG.debug(".writeFailed",cause);
+ if (LOG.isDebugEnabled())
+ LOG.debug(".writeFailed",cause);
failed(cause);
}
@Override
public void writeSuccess()
{
- LOG.debug(".writeSuccess");
+ if (LOG.isDebugEnabled())
+ LOG.debug(".writeSuccess");
succeeded();
}
}
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/IOState.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/IOState.java
index 35c87d9178..9ae21e71f1 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/IOState.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/io/IOState.java
@@ -174,7 +174,8 @@ public class IOState
private void notifyStateListeners(ConnectionState state)
{
- LOG.debug("Notify State Listeners: {}",state);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Notify State Listeners: {}",state);
for (ConnectionStateListener listener : listeners)
{
if (LOG.isDebugEnabled())
@@ -192,7 +193,8 @@ public class IOState
*/
public void onAbnormalClose(CloseInfo close)
{
- LOG.debug("onAbnormalClose({})",close);
+ if (LOG.isDebugEnabled())
+ LOG.debug("onAbnormalClose({})",close);
ConnectionState event = null;
synchronized (this)
{
@@ -225,7 +227,8 @@ public class IOState
ConnectionState event = null;
ConnectionState abnormalEvent = null;
ConnectionState initialState = this.state;
- LOG.debug("onCloseLocal({}) : {}",close,initialState);
+ if (LOG.isDebugEnabled())
+ LOG.debug("onCloseLocal({}) : {}",close,initialState);
if (initialState == ConnectionState.CLOSED)
{
// already closed
@@ -239,7 +242,8 @@ public class IOState
LOG.debug("FastClose in CONNECTED detected");
// Force the state open (to allow read/write to endpoint)
onOpened();
- LOG.debug("FastClose continuing with Closure");
+ if (LOG.isDebugEnabled())
+ LOG.debug("FastClose continuing with Closure");
}
synchronized (this)
@@ -300,7 +304,8 @@ public class IOState
*/
public void onCloseRemote(CloseInfo close)
{
- LOG.debug("onCloseRemote({})",close);
+ if (LOG.isDebugEnabled())
+ LOG.debug("onCloseRemote({})",close);
ConnectionState event = null;
synchronized (this)
{
@@ -321,7 +326,8 @@ public class IOState
in = false;
inputAvailable = false;
- LOG.debug("onCloseRemote(), input={}, output={}",in,out);
+ if (LOG.isDebugEnabled())
+ LOG.debug("onCloseRemote(), input={}, output={}",in,out);
if (!in && !out)
{
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageInputStream.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageInputStream.java
index 710ae1fc57..944c931fc4 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageInputStream.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageInputStream.java
@@ -129,7 +129,8 @@ public class MessageInputStream extends InputStream implements MessageAppender
@Override
public void messageComplete()
{
- LOG.debug("Message completed");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Message completed");
buffers.offer(EOF);
}
@@ -140,7 +141,8 @@ public class MessageInputStream extends InputStream implements MessageAppender
{
if (closed.get())
{
- LOG.debug("Stream closed");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Stream closed");
return -1;
}
@@ -166,7 +168,8 @@ public class MessageInputStream extends InputStream implements MessageAppender
if (activeBuffer == EOF)
{
- LOG.debug("Reached EOF");
+ if (LOG.isDebugEnabled())
+ LOG.debug("Reached EOF");
// Be sure that this stream cannot be reused.
closed.set(true);
// Removed buffers that may have remained in the queue.
@@ -179,7 +182,8 @@ public class MessageInputStream extends InputStream implements MessageAppender
}
catch (InterruptedException x)
{
- LOG.debug("Interrupted while waiting to read", x);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Interrupted while waiting to read", x);
closed.set(true);
return -1;
}
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageOutputStream.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageOutputStream.java
index 6da8f3e942..719273d8c4 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageOutputStream.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageOutputStream.java
@@ -30,8 +30,8 @@ import org.eclipse.jetty.websocket.api.BatchMode;
import org.eclipse.jetty.websocket.api.WriteCallback;
import org.eclipse.jetty.websocket.api.extensions.OutgoingFrames;
import org.eclipse.jetty.websocket.common.BlockingWriteCallback;
-import org.eclipse.jetty.websocket.common.WebSocketSession;
import org.eclipse.jetty.websocket.common.BlockingWriteCallback.WriteBlocker;
+import org.eclipse.jetty.websocket.common.WebSocketSession;
import org.eclipse.jetty.websocket.common.frames.BinaryFrame;
/**
@@ -117,7 +117,8 @@ public class MessageOutputStream extends OutputStream
{
flush(true);
bufferPool.release(buffer);
- LOG.debug("Stream closed, {} frames sent", frameCount);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Stream closed, {} frames sent", frameCount);
// Notify without holding locks.
notifySuccess();
}
@@ -139,7 +140,8 @@ public class MessageOutputStream extends OutputStream
closed = fin;
BufferUtil.flipToFlush(buffer, 0);
- LOG.debug("flush({}): {}", fin, BufferUtil.toDetailString(buffer));
+ if (LOG.isDebugEnabled())
+ LOG.debug("flush({}): {}", fin, BufferUtil.toDetailString(buffer));
frame.setPayload(buffer);
frame.setFin(fin);
diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageWriter.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageWriter.java
index 5afe710c1b..ed968f3800 100644
--- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageWriter.java
+++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageWriter.java
@@ -30,8 +30,8 @@ import org.eclipse.jetty.websocket.api.BatchMode;
import org.eclipse.jetty.websocket.api.WriteCallback;
import org.eclipse.jetty.websocket.api.extensions.OutgoingFrames;
import org.eclipse.jetty.websocket.common.BlockingWriteCallback;
-import org.eclipse.jetty.websocket.common.WebSocketSession;
import org.eclipse.jetty.websocket.common.BlockingWriteCallback.WriteBlocker;
+import org.eclipse.jetty.websocket.common.WebSocketSession;
import org.eclipse.jetty.websocket.common.frames.TextFrame;
/**
@@ -121,7 +121,8 @@ public class MessageWriter extends Writer
{
flush(true);
bufferPool.release(buffer);
- LOG.debug("Stream closed, {} frames sent", frameCount);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Stream closed, {} frames sent", frameCount);
// Notify without holding locks.
notifySuccess();
}
@@ -143,7 +144,8 @@ public class MessageWriter extends Writer
closed = fin;
ByteBuffer data = utf.getByteBuffer();
- LOG.debug("flush({}): {}", fin, BufferUtil.toDetailString(buffer));
+ if (LOG.isDebugEnabled())
+ LOG.debug("flush({}): {}", fin, BufferUtil.toDetailString(buffer));
frame.setPayload(data);
frame.setFin(fin);
diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventCapture.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventCapture.java
index 38451bb383..64b417dae5 100644
--- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventCapture.java
+++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventCapture.java
@@ -18,10 +18,6 @@
package org.eclipse.jetty.websocket.common.events;
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.startsWith;
-
import java.util.regex.Pattern;
import org.eclipse.jetty.toolchain.test.EventQueue;
@@ -29,6 +25,10 @@ import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
import org.junit.Assert;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.startsWith;
+
@SuppressWarnings("serial")
public class EventCapture extends EventQueue<String>
{
@@ -67,7 +67,8 @@ public class EventCapture extends EventQueue<String>
public void add(String format, Object... args)
{
String msg = String.format(format,args);
- LOG.debug("EVENT: {}",msg);
+ if (LOG.isDebugEnabled())
+ LOG.debug("EVENT: {}",msg);
super.offer(msg);
}
diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/LocalWebSocketConnection.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/LocalWebSocketConnection.java
index 2244c93cb5..e3c109b653 100644
--- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/LocalWebSocketConnection.java
+++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/io/LocalWebSocketConnection.java
@@ -82,21 +82,24 @@ public class LocalWebSocketConnection implements LogicalConnection, IncomingFram
@Override
public void close(int statusCode, String reason)
{
- LOG.debug("close({}, {})",statusCode,reason);
+ if (LOG.isDebugEnabled())
+ LOG.debug("close({}, {})",statusCode,reason);
CloseInfo close = new CloseInfo(statusCode,reason);
ioState.onCloseLocal(close);
}
public void connect()
{
- LOG.debug("connect()");
+ if (LOG.isDebugEnabled())
+ LOG.debug("connect()");
ioState.onConnected();
}
@Override
public void disconnect()
{
- LOG.debug("disconnect()");
+ if (LOG.isDebugEnabled())
+ LOG.debug("disconnect()");
}
@Override
@@ -179,7 +182,8 @@ public class LocalWebSocketConnection implements LogicalConnection, IncomingFram
@Override
public void onConnectionStateChange(ConnectionState state)
{
- LOG.debug("Connection State Change: {}",state);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Connection State Change: {}",state);
switch (state)
{
case CLOSED:
@@ -200,7 +204,8 @@ public class LocalWebSocketConnection implements LogicalConnection, IncomingFram
public void open()
{
- LOG.debug("open()");
+ if (LOG.isDebugEnabled())
+ LOG.debug("open()");
ioState.onOpened();
}
diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageWriterTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageWriterTest.java
index 43f68ecf00..d65214ec7c 100644
--- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageWriterTest.java
+++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageWriterTest.java
@@ -18,8 +18,6 @@
package org.eclipse.jetty.websocket.common.message;
-import static org.hamcrest.Matchers.is;
-
import java.util.Arrays;
import org.eclipse.jetty.io.MappedByteBufferPool;
@@ -40,6 +38,8 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestName;
+import static org.hamcrest.Matchers.is;
+
public class MessageWriterTest
{
private static final Logger LOG = Log.getLogger(MessageWriterTest.class);
@@ -122,7 +122,8 @@ public class MessageWriterTest
{
int bufsize = (int)(policy.getMaxTextMessageBufferSize() * 2.5);
char buf[] = new char[bufsize];
- LOG.debug("Buffer size: {}",bufsize);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Buffer size: {}",bufsize);
Arrays.fill(buf,'x');
buf[bufsize - 1] = 'o'; // mark last entry for debugging
diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/TrackingInputStreamSocket.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/TrackingInputStreamSocket.java
index e552ab4293..8aa4b09012 100644
--- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/TrackingInputStreamSocket.java
+++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/TrackingInputStreamSocket.java
@@ -18,8 +18,6 @@
package org.eclipse.jetty.websocket.common.message;
-import static org.hamcrest.Matchers.is;
-
import java.io.IOException;
import java.io.InputStream;
import java.util.concurrent.CountDownLatch;
@@ -35,6 +33,8 @@ import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
import org.eclipse.jetty.websocket.api.annotations.WebSocket;
import org.junit.Assert;
+import static org.hamcrest.Matchers.is;
+
@WebSocket
public class TrackingInputStreamSocket
{
@@ -76,7 +76,8 @@ public class TrackingInputStreamSocket
@OnWebSocketClose
public void onClose(int statusCode, String reason)
{
- LOG.debug("{} onClose({},{})",id,statusCode,reason);
+ if (LOG.isDebugEnabled())
+ LOG.debug("{} onClose({},{})",id,statusCode,reason);
closeCode = statusCode;
closeMessage.append(reason);
closeLatch.countDown();
@@ -91,7 +92,8 @@ public class TrackingInputStreamSocket
@OnWebSocketMessage
public void onInputStream(InputStream stream)
{
- LOG.debug("{} onInputStream({})",id,stream);
+ if (LOG.isDebugEnabled())
+ LOG.debug("{} onInputStream({})",id,stream);
try
{
String msg = IO.toString(stream);
diff --git a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java
index b85806ef00..0686827af5 100644
--- a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java
+++ b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketServerFactory.java
@@ -512,8 +512,11 @@ public class WebSocketServerFactory extends ContainerLifeCycle implements WebSoc
extensionStack.configure(wsConnection.getParser());
extensionStack.configure(wsConnection.getGenerator());
- LOG.debug("HttpConnection: {}", http);
- LOG.debug("WebSocketConnection: {}", wsConnection);
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("HttpConnection: {}", http);
+ LOG.debug("WebSocketConnection: {}", wsConnection);
+ }
// Setup Session
WebSocketSession session = createSession(request.getRequestURI(), driver, wsConnection);
@@ -553,11 +556,15 @@ public class WebSocketServerFactory extends ContainerLifeCycle implements WebSoc
// Tell jetty about the new upgraded connection
request.setServletAttribute(HttpConnection.UPGRADE_CONNECTION_ATTRIBUTE, wsConnection);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Handshake Response: {}", handshaker);
+
// Process (version specific) handshake response
- LOG.debug("Handshake Response: {}", handshaker);
handshaker.doHandshakeResponse(request, response);
- LOG.debug("Websocket upgrade {} {} {} {}", request.getRequestURI(), version, response.getAcceptedSubProtocol(), wsConnection);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Websocket upgrade {} {} {} {}", request.getRequestURI(), version, response.getAcceptedSubProtocol(), wsConnection);
+
return true;
}
}
diff --git a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java
index 76b7b06ad0..b2a9deb092 100644
--- a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java
+++ b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilter.java
@@ -20,7 +20,6 @@ package org.eclipse.jetty.websocket.server;
import java.io.IOException;
import java.util.EnumSet;
-
import javax.servlet.DispatcherType;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
@@ -66,7 +65,9 @@ public class WebSocketUpgradeFilter extends ContainerLifeCycle implements Filter
fholder.setDisplayName("WebSocket Upgrade Filter");
String pathSpec = "/*";
context.addFilter(fholder,pathSpec,EnumSet.of(DispatcherType.REQUEST));
- LOG.debug("Adding {} mapped to {} to {}",filter,pathSpec,context);
+
+ if (LOG.isDebugEnabled())
+ LOG.debug("Adding {} mapped to {} to {}",filter,pathSpec,context);
// Store reference to the WebSocketUpgradeFilter
context.setAttribute(WebSocketUpgradeFilter.class.getName(),filter);
diff --git a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/pathmap/PathMappings.java b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/pathmap/PathMappings.java
index 454b5c95a1..243af2d86d 100644
--- a/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/pathmap/PathMappings.java
+++ b/jetty-websocket/websocket-server/src/main/java/org/eclipse/jetty/websocket/server/pathmap/PathMappings.java
@@ -177,7 +177,8 @@ public class PathMappings<E> implements Iterable<MappedResource<E>>, Dumpable
}
// TODO: warning on replacement of existing mapping?
mappings.add(entry);
- LOG.debug("Added {} to {}",entry,this);
+ if (LOG.isDebugEnabled())
+ LOG.debug("Added {} to {}",entry,this);
Collections.sort(mappings);
}

Back to the top