]
Jeff Mesnil resolved WFLY-3842.
-------------------------------
Fix Version/s: 9.0.0.Beta1
Resolution: Done
Netty direct buffer detection broken due to missing module
dependencies
-----------------------------------------------------------------------
Key: WFLY-3842
URL:
https://issues.jboss.org/browse/WFLY-3842
Project: WildFly
Issue Type: Bug
Components: JMS
Affects Versions: 8.1.0.Final, 9.0.0.Alpha1
Reporter: Seth Miller
Assignee: Jeff Mesnil
Fix For: 9.0.0.Beta1
When deploying Wildfly 8.x, you'll see this in the server.log:
{code}
INFO [io.netty.util.internal.PlatformDependent] Your platform does not provide complete
low-level API for accessing direct buffers reliably. Unless explicitly requested, heap
buffer will always be preferred to av
oid potential system unstability.
{code}
Following this into netty, here:
https://github.com/netty/netty/blob/master/common/src/main/java/io/netty/...
Down to here:
https://github.com/netty/netty/blob/netty-4.0.15.Final/common/src/main/ja...
We need access to sun.misc to see if direct buffers are available.
Adding sun.misc to the netty module removes the log message, but if we TRACE on io.netty,
there is one additional message:
{code}
2014-09-09 13:58:35,512 FINE [io.netty.util.internal.PlatformDependent]
-Dio.netty.noJavassist: false
2014-09-09 13:58:35,513 FINE [io.netty.util.internal.PlatformDependent] Javassist:
unavailable
2014-09-09 13:58:35,513 FINE [io.netty.util.internal.PlatformDependent] You don't
have Javassist in your class path or you don't have enough permission to load
dynamically generated classes. Please check the configuration for better performance.
{code}
We can provide netty with a depends on Javassist to remove the FINE message about
performance.
Workaround: alter the module io/netty/main/module.xml to include the following {code}
<module xmlns="urn:jboss:module:1.3" name="io.netty">
<resources>
<resource-root path="netty-all-4.0.15.Final.jar"/>
</resources>
<dependencies>
<module name="sun.jdk"/>
<module name="org.javassist"/>
</dependencies>
</module>
{code}