[Git][java-team/jboss-xnio][master] 8 commits: Declare compliance with Debian Policy 4.3.0.
Markus Koschany
gitlab at salsa.debian.org
Fri Feb 8 11:06:10 GMT 2019
Markus Koschany pushed to branch master at Debian Java Maintainers / jboss-xnio
Commits:
7a0f8a5a by Markus Koschany at 2019-02-08T10:19:45Z
Declare compliance with Debian Policy 4.3.0.
- - - - -
cbf6a9a2 by Markus Koschany at 2019-02-08T10:20:13Z
Use canonical VCS URI.
- - - - -
4292caab by Markus Koschany at 2019-02-08T10:21:42Z
Update copyright years
- - - - -
acf5555f by Markus Koschany at 2019-02-08T10:22:22Z
New upstream version 3.7.0
- - - - -
0401ba9b by Markus Koschany at 2019-02-08T10:22:29Z
Update upstream source from tag 'upstream/3.7.0'
Update to upstream version '3.7.0'
with Debian dir a161e0af6bd689e696738f1be400fb503aae9300
- - - - -
0eb753bf by Markus Koschany at 2019-02-08T10:23:48Z
Udpate changelog
- - - - -
bdf52aae by Markus Koschany at 2019-02-08T10:29:39Z
Drop java9.patch.
- - - - -
15538b16 by Markus Koschany at 2019-02-08T10:34:30Z
Revert to source/target 1.8
- - - - -
19 changed files:
- api/pom.xml
- api/src/main/java/org/xnio/ByteBufferSlicePool.java
- api/src/main/java/org/xnio/XnioIoThread.java
- api/src/main/java/org/xnio/XnioWorker.java
- api/src/main/java/org/xnio/management/XnioWorkerMXBean.java
- api/src/main/java/org/xnio/ssl/JsseSslConduitEngine.java
- api/src/main/java/org/xnio/ssl/JsseSslStreamSourceConduit.java
- api/src/main/java/org/xnio/ssl/JsseXnioSsl.java
- api/src/test/java/org/xnio/XnioWorkerTestCase.java
- debian/changelog
- debian/control
- debian/copyright
- debian/maven.properties
- − debian/patches/java9.patch
- debian/patches/series
- nio-impl/pom.xml
- nio-impl/src/main/java/org/xnio/nio/NioXnio.java
- nio-impl/src/main/java/org/xnio/nio/NioXnioWorker.java
- pom.xml
Changes:
=====================================
api/pom.xml
=====================================
@@ -37,7 +37,7 @@
<parent>
<groupId>org.jboss.xnio</groupId>
<artifactId>xnio-all</artifactId>
- <version>3.6.3.Final</version>
+ <version>3.7.0.Final</version>
</parent>
<dependencies>
=====================================
api/src/main/java/org/xnio/ByteBufferSlicePool.java
=====================================
@@ -155,6 +155,20 @@ public final class ByteBufferSlicePool implements Pool<ByteBuffer> {
}
}
+ /**
+ * Cleans all ThreadLocal caches
+ */
+ public void clean() {
+ ThreadLocalCache localCache = localQueueHolder.get();
+ if (!localCache.queue.isEmpty()) {
+ localCache.queue.clear();
+ }
+
+ if(!sliceQueue.isEmpty()) {
+ sliceQueue.clear();
+ }
+ }
+
/**
* Return the size of the {@link ByteBuffer}s that are returned by {@link #allocate()}.
*/
=====================================
api/src/main/java/org/xnio/XnioIoThread.java
=====================================
@@ -251,7 +251,7 @@ public abstract class XnioIoThread extends Thread implements XnioExecutor, XnioI
}
}
InetSocketAddress bindAddress = getWorker().getBindAddressTable().get(destination.getAddress());
- return openTcpStreamConnection(bindAddress == null ? Xnio.ANY_INET_ADDRESS : bindAddress, destination, openListener, bindListener, optionMap);
+ return openTcpStreamConnection(bindAddress, destination, openListener, bindListener, optionMap);
}
public IoFuture<StreamConnection> openStreamConnection(SocketAddress bindAddress, SocketAddress destination, ChannelListener<? super StreamConnection> openListener, ChannelListener<? super BoundChannel> bindListener, OptionMap optionMap) {
=====================================
api/src/main/java/org/xnio/XnioWorker.java
=====================================
@@ -128,16 +128,23 @@ public abstract class XnioWorker extends AbstractExecutorService implements Conf
};
final ExecutorService executorService = builder.getExternalExecutorService();
if (executorService != null) {
- taskPool = new ExternalTaskPool(executorService);
+ if (executorService instanceof EnhancedQueueExecutor) {
+ taskPool = new ExternalTaskPool(
+ new EnhancedQueueExecutorTaskPool((EnhancedQueueExecutor) executorService));
+ } else if (executorService instanceof ThreadPoolExecutor) {
+ taskPool = new ExternalTaskPool(new ThreadPoolExecutorTaskPool((ThreadPoolExecutor) executorService));
+ } else {
+ taskPool = new ExternalTaskPool(new ExecutorServiceTaskPool(executorService));
+ }
} else if (EnhancedQueueExecutor.DISABLE_HINT) {
final int poolSize = max(builder.getMaxWorkerPoolSize(), builder.getCoreWorkerPoolSize());
- taskPool = new ThreadPoolExecutorTaskPool(
+ taskPool = new ThreadPoolExecutorTaskPool(new DefaultThreadPoolExecutor(
poolSize,
poolSize,
builder.getWorkerKeepAlive(), TimeUnit.MILLISECONDS,
new LinkedBlockingDeque<>(),
new WorkerThreadFactory(builder.getThreadGroup(), builder.getWorkerStackSize(), markThreadAsDaemon),
- terminationTask);
+ terminationTask));
} else {
taskPool = new EnhancedQueueExecutorTaskPool(new EnhancedQueueExecutor.Builder()
.setCorePoolSize(builder.getCoreWorkerPoolSize())
@@ -948,6 +955,15 @@ public abstract class XnioWorker extends AbstractExecutorService implements Conf
return taskPool.getActiveCount();
}
+ /**
+ * Get an estimate of the number of threads in the worker pool.
+ *
+ * @return the estimated number of threads in the worker pool
+ */
+ protected final int getWorkerPoolSize() {
+ return taskPool.getPoolSize();
+ }
+
/**
* Get the maximum worker pool size.
*
@@ -1290,13 +1306,15 @@ public abstract class XnioWorker extends AbstractExecutorService implements Conf
int getActiveCount();
+ int getPoolSize();
+
int getQueueSize();
}
- static class ThreadPoolExecutorTaskPool extends ThreadPoolExecutor implements TaskPool {
+ static class DefaultThreadPoolExecutor extends ThreadPoolExecutor {
private final Runnable terminationTask;
- ThreadPoolExecutorTaskPool(final int corePoolSize, final int maximumPoolSize, final long keepAliveTime, final TimeUnit unit, final BlockingQueue<Runnable> workQueue, final ThreadFactory threadFactory, final Runnable terminationTask) {
+ DefaultThreadPoolExecutor(final int corePoolSize, final int maximumPoolSize, final long keepAliveTime, final TimeUnit unit, final BlockingQueue<Runnable> workQueue, final ThreadFactory threadFactory, final Runnable terminationTask) {
super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory);
this.terminationTask = terminationTask;
}
@@ -1318,9 +1336,73 @@ public abstract class XnioWorker extends AbstractExecutorService implements Conf
super.setMaximumPoolSize(size);
}
}
+ }
+
+ static class ThreadPoolExecutorTaskPool implements TaskPool {
+ private final ThreadPoolExecutor delegate;
+
+ ThreadPoolExecutorTaskPool(final ThreadPoolExecutor delegate) {
+ this.delegate = delegate;
+ }
+ @Override
+ public void shutdown() {
+ delegate.shutdown();
+ }
+
+ @Override
+ public List<Runnable> shutdownNow() {
+ return delegate.shutdownNow();
+ }
+
+ @Override
+ public void execute(final Runnable command) {
+ delegate.execute(command);
+ }
+
+ @Override
+ public int getCorePoolSize() {
+ return delegate.getCorePoolSize();
+ }
+
+ @Override
+ public int getMaximumPoolSize() {
+ return delegate.getMaximumPoolSize();
+ }
+
+ @Override
+ public long getKeepAliveTime(final TimeUnit unit) {
+ return delegate.getKeepAliveTime(unit);
+ }
+
+ @Override
+ public void setCorePoolSize(final int size) {
+ delegate.setCorePoolSize(size);
+ }
+
+ @Override
+ public void setMaximumPoolSize(final int size) {
+ delegate.setMaximumPoolSize(size);
+ }
+
+ @Override
+ public void setKeepAliveTime(final long time, final TimeUnit unit) {
+ delegate.setKeepAliveTime(time, unit);
+ }
+
+ @Override
+ public int getActiveCount() {
+ return delegate.getActiveCount();
+ }
+
+ @Override
+ public int getPoolSize() {
+ return delegate.getPoolSize();
+ }
+
+ @Override
public int getQueueSize() {
- return getQueue().size();
+ return delegate.getQueue().size();
}
}
@@ -1371,24 +1453,28 @@ public abstract class XnioWorker extends AbstractExecutorService implements Conf
return executor.getActiveCount();
}
+ public int getPoolSize() {
+ return executor.getPoolSize();
+ }
+
public int getQueueSize() {
return executor.getQueueSize();
}
}
- static class ExternalTaskPool implements TaskPool {
+ static class ExecutorServiceTaskPool implements TaskPool {
private final ExecutorService delegate;
- ExternalTaskPool(final ExecutorService delegate) {
+ ExecutorServiceTaskPool(final ExecutorService delegate) {
this.delegate = delegate;
}
public void shutdown() {
- // no operation
+ delegate.shutdown();
}
public List<Runnable> shutdownNow() {
- return Collections.emptyList();
+ return delegate.shutdownNow();
}
public void execute(final Runnable command) {
@@ -1420,9 +1506,81 @@ public abstract class XnioWorker extends AbstractExecutorService implements Conf
return -1;
}
+ public int getPoolSize() {
+ return -1;
+ }
+
public int getQueueSize() {
return -1;
}
}
+
+ static class ExternalTaskPool implements TaskPool {
+ private final TaskPool delegate;
+
+ ExternalTaskPool(final TaskPool delegate) {
+ this.delegate = delegate;
+ }
+
+ @Override
+ public void shutdown() {
+ // no operation
+ }
+
+ @Override
+ public List<Runnable> shutdownNow() {
+ return Collections.emptyList();
+ }
+
+ @Override
+ public void execute(final Runnable command) {
+ delegate.execute(command);
+ }
+
+ @Override
+ public int getCorePoolSize() {
+ return delegate.getCorePoolSize();
+ }
+
+ @Override
+ public int getMaximumPoolSize() {
+ return delegate.getMaximumPoolSize();
+ }
+
+ @Override
+ public long getKeepAliveTime(final TimeUnit unit) {
+ return delegate.getKeepAliveTime(unit);
+ }
+
+ @Override
+ public void setCorePoolSize(final int size) {
+ delegate.setCorePoolSize(size);
+ }
+
+ @Override
+ public void setMaximumPoolSize(final int size) {
+ delegate.setMaximumPoolSize(size);
+ }
+
+ @Override
+ public void setKeepAliveTime(final long time, final TimeUnit unit) {
+ delegate.setKeepAliveTime(time, unit);
+ }
+
+ @Override
+ public int getActiveCount() {
+ return delegate.getActiveCount();
+ }
+
+ @Override
+ public int getPoolSize() {
+ return delegate.getPoolSize();
+ }
+
+ @Override
+ public int getQueueSize() {
+ return delegate.getQueueSize();
+ }
+ }
}
=====================================
api/src/main/java/org/xnio/management/XnioWorkerMXBean.java
=====================================
@@ -61,6 +61,13 @@ public interface XnioWorkerMXBean {
*/
int getMaxWorkerPoolSize();
+ /**
+ * Get an estimate of the number of threads in the worker pool.
+ *
+ * @return the estimated number of threads in the worker pool
+ */
+ int getWorkerPoolSize();
+
/**
* Get an estimate of the number of busy threads in the worker pool.
*
=====================================
api/src/main/java/org/xnio/ssl/JsseSslConduitEngine.java
=====================================
@@ -594,7 +594,7 @@ final class JsseSslConduitEngine {
public long unwrap(final ByteBuffer[] dsts, final int offset, final int length) throws IOException {
assert ! Thread.holdsLock(getUnwrapLock());
assert ! Thread.holdsLock(getWrapLock());
- if (dsts.length == 0 || length == 0) {
+ if (dsts.length == 0 || length == 0 || isClosed()) {
return 0L;
}
clearFlags(FIRST_HANDSHAKE | BUFFER_UNDERFLOW);
=====================================
api/src/main/java/org/xnio/ssl/JsseSslStreamSourceConduit.java
=====================================
@@ -109,7 +109,7 @@ final class JsseSslStreamSourceConduit extends AbstractStreamSourceConduit<Strea
if (offs < 0 || offs > len || len < 0 || offs + len > dsts.length) {
throw new ArrayIndexOutOfBoundsException();
}
- if ((!sslEngine.isDataAvailable() && sslEngine.isInboundClosed()) || sslEngine.isClosed()) {
+ if (sslEngine.isClosed() || (!sslEngine.isDataAvailable() && sslEngine.isInboundClosed())) {
return -1;
}
final int readResult;
=====================================
api/src/main/java/org/xnio/ssl/JsseXnioSsl.java
=====================================
@@ -66,7 +66,7 @@ import org.xnio.channels.ConnectedStreamChannel;
public final class JsseXnioSsl extends XnioSsl {
public static final boolean NEW_IMPL = doPrivileged((PrivilegedAction<Boolean>) () -> Boolean.valueOf(Boolean.parseBoolean(System.getProperty("org.xnio.ssl.new", "false")))).booleanValue();
- static final Pool<ByteBuffer> bufferPool = new ByteBufferSlicePool(BufferAllocator.DIRECT_BYTE_BUFFER_ALLOCATOR, 17 * 1024, 17 * 1024 * 128);
+ static final Pool<ByteBuffer> bufferPool = new ByteBufferSlicePool(BufferAllocator.DIRECT_BYTE_BUFFER_ALLOCATOR, 21 * 1024, 21 * 1024 * 128);
private final SSLContext sslContext;
/**
=====================================
api/src/test/java/org/xnio/XnioWorkerTestCase.java
=====================================
@@ -199,7 +199,7 @@ public class XnioWorkerTestCase {
@Test
public void connectTcpStream() throws CancellationException, IOException {
- checkConnectStream(new InetSocketAddress(1000), Xnio.ANY_INET_ADDRESS, XnioWorkerMock.TCP_CHANNEL_INFO);
+ checkConnectStream(new InetSocketAddress(1000), null, XnioWorkerMock.TCP_CHANNEL_INFO);
}
@Test
@@ -230,7 +230,7 @@ public class XnioWorkerTestCase {
@Test
public void connectTcpStreamWithBindListener() throws CancellationException, IOException {
- checkConnectStreamWithBindListener(new InetSocketAddress(1500), Xnio.ANY_INET_ADDRESS, XnioWorkerMock.TCP_CHANNEL_INFO);
+ checkConnectStreamWithBindListener(new InetSocketAddress(1500), null, XnioWorkerMock.TCP_CHANNEL_INFO);
}
@Test
=====================================
debian/changelog
=====================================
@@ -1,9 +1,9 @@
-jboss-xnio (3.6.3-1) UNRELEASED; urgency=medium
+jboss-xnio (3.7.0-1) unstable; urgency=medium
- * New upstream version 3.6.3.
- * Declare compliance with Debian Policy 4.1.4.
+ * New upstream version 3.7.0.
+ * Declare compliance with Debian Policy 4.3.0.
- -- Markus Koschany <apo at debian.org> Tue, 15 May 2018 15:21:59 +0200
+ -- Markus Koschany <apo at debian.org> Fri, 08 Feb 2019 11:23:04 +0100
jboss-xnio (3.6.2-2) unstable; urgency=medium
=====================================
debian/control
=====================================
@@ -20,9 +20,9 @@ Build-Depends:
libwildfly-client-config-java,
libwildfly-common-java,
maven-debian-helper (>= 1.5)
-Standards-Version: 4.1.4
-Vcs-Git: https://anonscm.debian.org/git/pkg-java/jboss-xnio.git
-Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/jboss-xnio.git
+Standards-Version: 4.3.0
+Vcs-Git: https://salsa.debian.org/java-team/jboss-xnio.git
+Vcs-Browser: https://salsa.debian.org/java-team/jboss-xnio
Homepage: http://xnio.jboss.org/
Package: libjboss-xnio-java
=====================================
debian/copyright
=====================================
@@ -3,7 +3,7 @@ Upstream-Name: Jboss XNIO
Source: https://github.com/xnio/xnio
Files: *
-Copyright: 2015-2018, Red Hat, Inc.
+Copyright: 2015-2019, Red Hat, Inc.
License: Apache-2.0
Files: nio-impl/src/test/java/org/xnio/nio/test/NioHalfDuplexChannelPipeTestCase.java
@@ -17,7 +17,7 @@ Copyright: 2010-2015, Red Hat, Inc
License: LGPL-2.1+
Files: debian/*
-Copyright: 2015-2018, Markus Koschany <apo at debian.org>
+Copyright: 2015-2019, Markus Koschany <apo at debian.org>
License: Apache-2.0 or LGPL-2.1+
License: Apache-2.0
=====================================
debian/maven.properties
=====================================
@@ -1,7 +1,7 @@
# Include here properties to pass to Maven during the build.
# For example:
maven.test.skip=true
-maven.compiler.source=1.9
-maven.compiler.target=1.9
+maven.compiler.source=1.8
+maven.compiler.target=1.8
project.build.sourceEncoding=UTF-8
=====================================
debian/patches/java9.patch deleted
=====================================
@@ -1,22 +0,0 @@
-From: Markus Koschany <apo at debian.org>
-Date: Mon, 19 Mar 2018 11:09:53 +0100
-Subject: java9
-
----
- api/pom.xml | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/api/pom.xml b/api/pom.xml
-index 43377f1..10fff5b 100644
---- a/api/pom.xml
-+++ b/api/pom.xml
-@@ -181,6 +181,9 @@
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <additionalparam>-Xdoclint:none</additionalparam>
-+ <compilerArgs>
-+ <arg>--add-modules</arg><arg>java.xml.ws.annotation</arg>
-+ </compilerArgs>
- <doctitle><![CDATA[XNIO API ]]>${project.version}</doctitle>
- <header><![CDATA[XNIO API ]]>${project.version}</header>
- <footer><![CDATA[XNIO API ]]>${project.version}</footer>
=====================================
debian/patches/series
=====================================
@@ -1,2 +1 @@
maven-bundle-plugin-rules.patch
-java9.patch
=====================================
nio-impl/pom.xml
=====================================
@@ -31,7 +31,7 @@
<parent>
<groupId>org.jboss.xnio</groupId>
<artifactId>xnio-all</artifactId>
- <version>3.6.3.Final</version>
+ <version>3.7.0.Final</version>
</parent>
<properties>
=====================================
nio-impl/src/main/java/org/xnio/nio/NioXnio.java
=====================================
@@ -30,6 +30,7 @@ import java.lang.reflect.InvocationTargetException;
import org.xnio.FileSystemWatcher;
import org.xnio.IoUtils;
import org.xnio.Options;
+import org.xnio.ReadPropertyAction;
import org.xnio.Xnio;
import org.xnio.OptionMap;
import org.xnio.XnioWorker;
@@ -75,6 +76,8 @@ final class NioXnio extends Xnio {
final Object[] objects = AccessController.doPrivileged(
new PrivilegedAction<Object[]>() {
public Object[] run() {
+ String jdkVersion = System.getProperty("java.specification.version", "1.8");
+ final boolean jdk9 = ! (jdkVersion.equals("1.8") || jdkVersion.equals("8"));
final SelectorProvider defaultProvider = SelectorProvider.provider();
final String chosenProvider = System.getProperty("xnio.nio.selector.provider");
SelectorProvider provider = null;
@@ -87,64 +90,67 @@ final class NioXnio extends Xnio {
provider = null;
}
}
- if (provider == null) {
- try {
- // Mac OS X and BSD
- provider = Class.forName("sun.nio.ch.KQueueSelectorProvider", true, NioXnio.class.getClassLoader()).asSubclass(SelectorProvider.class).getConstructor().newInstance();
- provider.openSelector().close();
- } catch (Throwable e) {
- // not available
- provider = null;
+ if (! jdk9) {
+ // try to probe the best available provider
+ if (provider == null) {
+ try {
+ // Mac OS X and BSD
+ provider = Class.forName("sun.nio.ch.KQueueSelectorProvider", true, NioXnio.class.getClassLoader()).asSubclass(SelectorProvider.class).getConstructor().newInstance();
+ provider.openSelector().close();
+ } catch (Throwable e) {
+ // not available
+ provider = null;
+ }
}
- }
- if (provider == null) {
- try {
- // Linux
- provider = Class.forName("sun.nio.ch.EPollSelectorProvider", true, NioXnio.class.getClassLoader()).asSubclass(SelectorProvider.class).getConstructor().newInstance();
- provider.openSelector().close();
- } catch (Throwable e) {
- // not available
- provider = null;
+ if (provider == null) {
+ try {
+ // Linux
+ provider = Class.forName("sun.nio.ch.EPollSelectorProvider", true, NioXnio.class.getClassLoader()).asSubclass(SelectorProvider.class).getConstructor().newInstance();
+ provider.openSelector().close();
+ } catch (Throwable e) {
+ // not available
+ provider = null;
+ }
}
- }
- if (provider == null && ! HAS_BUGGY_EVENT_PORT) {
- try {
- // Solaris (Java 8+)
- provider = Class.forName("sun.nio.ch.EventPortSelectorProvider", true, NioXnio.class.getClassLoader()).asSubclass(SelectorProvider.class).getConstructor().newInstance();
- provider.openSelector().close();
- } catch (Throwable e) {
- // not available
- provider = null;
+ if (provider == null && ! HAS_BUGGY_EVENT_PORT) {
+ try {
+ // Solaris (Java 8+)
+ provider = Class.forName("sun.nio.ch.EventPortSelectorProvider", true, NioXnio.class.getClassLoader()).asSubclass(SelectorProvider.class).getConstructor().newInstance();
+ provider.openSelector().close();
+ } catch (Throwable e) {
+ // not available
+ provider = null;
+ }
}
- }
- if (provider == null) {
- try {
- // Solaris
- provider = Class.forName("sun.nio.ch.DevPollSelectorProvider", true, NioXnio.class.getClassLoader()).asSubclass(SelectorProvider.class).getConstructor().newInstance();
- provider.openSelector().close();
- } catch (Throwable e) {
- // not available
- provider = null;
+ if (provider == null) {
+ try {
+ // Solaris
+ provider = Class.forName("sun.nio.ch.DevPollSelectorProvider", true, NioXnio.class.getClassLoader()).asSubclass(SelectorProvider.class).getConstructor().newInstance();
+ provider.openSelector().close();
+ } catch (Throwable e) {
+ // not available
+ provider = null;
+ }
}
- }
- if (provider == null) {
- try {
- // Solaris (Java 8+)
- provider = Class.forName("sun.nio.ch.EventPortSelectorProvider", true, NioXnio.class.getClassLoader()).asSubclass(SelectorProvider.class).getConstructor().newInstance();
- provider.openSelector().close();
- } catch (Throwable e) {
- // not available
- provider = null;
+ if (provider == null) {
+ try {
+ // Solaris (Java 8+)
+ provider = Class.forName("sun.nio.ch.EventPortSelectorProvider", true, NioXnio.class.getClassLoader()).asSubclass(SelectorProvider.class).getConstructor().newInstance();
+ provider.openSelector().close();
+ } catch (Throwable e) {
+ // not available
+ provider = null;
+ }
}
- }
- if (provider == null) {
- try {
- // AIX
- provider = Class.forName("sun.nio.ch.PollsetSelectorProvider", true, NioXnio.class.getClassLoader()).asSubclass(SelectorProvider.class).getConstructor().newInstance();
- provider.openSelector().close();
- } catch (Throwable e) {
- // not available
- provider = null;
+ if (provider == null) {
+ try {
+ // AIX
+ provider = Class.forName("sun.nio.ch.PollsetSelectorProvider", true, NioXnio.class.getClassLoader()).asSubclass(SelectorProvider.class).getConstructor().newInstance();
+ provider.openSelector().close();
+ } catch (Throwable e) {
+ // not available
+ provider = null;
+ }
}
}
if (provider == null) {
@@ -189,7 +195,7 @@ final class NioXnio extends Xnio {
} catch (Exception e) {
// not available
}
- if (! defaultIsPoll) {
+ if (! defaultIsPoll && ! jdk9) {
// default is fine for main selectors; we should try to get poll for temp though
if (objects[1] == null) try {
SelectorProvider pollSelectorProvider = Class.forName("sun.nio.ch.PollSelectorProvider", true, NioXnio.class.getClassLoader()).asSubclass(SelectorProvider.class).getConstructor().newInstance();
=====================================
nio-impl/src/main/java/org/xnio/nio/NioXnioWorker.java
=====================================
@@ -413,6 +413,10 @@ final class NioXnioWorker extends XnioWorker {
return NioXnioWorker.this.getMaxWorkerPoolSize();
}
+ public int getWorkerPoolSize() {
+ return NioXnioWorker.this.getWorkerPoolSize();
+ }
+
public int getBusyWorkerThreadCount() {
return NioXnioWorker.this.getBusyWorkerThreadCount();
}
=====================================
pom.xml
=====================================
@@ -32,7 +32,7 @@
<artifactId>xnio-all</artifactId>
<packaging>pom</packaging>
<name>XNIO Parent POM</name>
- <version>3.6.3.Final</version>
+ <version>3.7.0.Final</version>
<description>The aggregator POM of the XNIO project</description>
<licenses>
View it on GitLab: https://salsa.debian.org/java-team/jboss-xnio/compare/cca8e5ea7fca9d19f0ea2e66756827cf505047ee...15538b16f885ea552a5e43121bebb4a3c2ad6923
--
View it on GitLab: https://salsa.debian.org/java-team/jboss-xnio/compare/cca8e5ea7fca9d19f0ea2e66756827cf505047ee...15538b16f885ea552a5e43121bebb4a3c2ad6923
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20190208/6ee8dff2/attachment.html>
More information about the pkg-java-commits
mailing list