From f7c83c8565a695e226cac118fb353e161c90a7ea Mon Sep 17 00:00:00 2001 From: Stephane Landelle Date: Thu, 14 Jan 2016 18:59:35 +0100 Subject: [PATCH] Don't enforce JZlibDecoder on JDK7+, close #4707 Motivation: `JdkZlibDecoder` is available since Netty 4.0.8 and works with JDK7+. However, `io.netty.noJdkZlibDecoder` System prop evaluation always defaults to true, causing Netty to always use JZLib when decompressing on the client side when the property insn't explictly set to `false`. Modifications: Default to `false` instead of `true` when JDK7+. Result: JZLib optional as expected on JDK7+. --- .../io/netty/handler/codec/compression/ZlibCodecFactory.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/codec/src/main/java/io/netty/handler/codec/compression/ZlibCodecFactory.java b/codec/src/main/java/io/netty/handler/codec/compression/ZlibCodecFactory.java index 8d94b8cdda..81156f63c7 100644 --- a/codec/src/main/java/io/netty/handler/codec/compression/ZlibCodecFactory.java +++ b/codec/src/main/java/io/netty/handler/codec/compression/ZlibCodecFactory.java @@ -33,7 +33,8 @@ public final class ZlibCodecFactory { private static final boolean noJdkZlibEncoder; static { - noJdkZlibDecoder = SystemPropertyUtil.getBoolean("io.netty.noJdkZlibDecoder", true); + noJdkZlibDecoder = SystemPropertyUtil.getBoolean("io.netty.noJdkZlibDecoder", + PlatformDependent.javaVersion() < 7); logger.debug("-Dio.netty.noJdkZlibDecoder: {}", noJdkZlibDecoder); noJdkZlibEncoder = SystemPropertyUtil.getBoolean("io.netty.noJdkZlibEncoder", false);