[ https://issues.apache.org/jira/browse/DIRMINA-946?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13687790#comment-13687790 ]
Emmanuel Lecharny commented on DIRMINA-946: ------------------------------------------- The pb is that the ByteBuffer you are trying to dump is a DirectBuffer. If so, the array() method won't work, because the byte[] is not visible in this case. Morever, the array() method is not guaranteed to work. I would suggest a slight modification in the patch : you can check if the BB array() method is implemented with a hasArray() call. Always do that, just in case. If the array() method is not supported, I suggest to copy the bytes into a byte[], to spare the calls to slice.get(), and to avoid a code duplication at the end of the method, when the dump is done as ascii. Note that the current patch is buggy on line 91 : doing a buffer.get( bytes ) whithout flipping the buffer will change the buffer's position, thus impacting the caller. > ByteBufferDumper fails to dump ByteBuffers that are not backed by an array or > that are readonly > ----------------------------------------------------------------------------------------------- > > Key: DIRMINA-946 > URL: https://issues.apache.org/jira/browse/DIRMINA-946 > Project: MINA > Issue Type: Bug > Components: Core > Affects Versions: 3.0.0-trunk > Reporter: Raphaƫl P. Barazzutti > Assignee: Julien Vermillard > > ByteBufferDumper does a call to array() of the ByteBuffer, it throws an > exception if that last one isn't read/write and backed by an array. > fix available here: > https://github.com/rbarazzutti/mina/tree/bufferdumper-fix -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira