How to fix the “Found Netty’s native epoll transport in the classpath, but epoll is not available. Using NIO instead” warning?

If you are running on Linux, you can use the native Linux driver. For instance, if you are using Maven, add a dependency like this: <dependency> <groupId>io.netty</groupId> <artifactId>netty-transport-native-epoll</artifactId> <version>4.0.27.Final</version> <classifier>linux-x86_64</classifier> </dependency> An alternative, you can suppress the warning by setting -Dcom.datastax.driver.FORCE_NIO=true. As it is only a performance optimization, it is a viable option to ignore … Read more

Netty doesn’t write

Netty is asynchronous, meaning that it won’t throw exceptions when a write failed. Instead of throwing exceptions, it returns a Future<?> that will be updated when the request is done. Make sure to log any exceptions coming from this as your first debugging steps: channel.writeAndFlush(…).addListener(new GenericFutureListener<Future<Object>>() { @Override public void operationComplete(Future<Object> future) { // TODO: … Read more

How to hide warning “Illegal reflective access” in java 9 without JVM argument?

There are ways to disable illegal access warning, though I do not recommend doing this. 1. Simple approach Since the warning is printed to the default error stream, you can simply close this stream and redirect stderr to stdout. public static void disableWarning() { System.err.close(); System.setErr(System.out); } Notes: This approach merges error and output streams. … Read more

Netty vs Apache MINA

While MINA and Netty have similar ambitions, they are quite different in practice and you should consider your choice carefully. We were lucky in that we had lots of experience with MINA and had the time to play around with Netty. We especially liked the cleaner API and much better documentation. Performance seemed better on … Read more

Unable to derive module descriptor for auto generated module names in Java 9?

The solution to this seems to be:- A way possible to uninterruptedly using the same artifact name with a new(different) module name could be by packaging META-INF/MANIFEST.MF of the artifact with an attribute Automatic-Module-Name which governs the name of the module to be used by the module descriptor when converted as an automatic module. OR … Read more