users@grizzly.java.net

Re: exception using ByteBufferManager

From: Oleksiy Stashok <oleksiy.stashok_at_oracle.com>
Date: Thu, 28 Jul 2011 13:22:00 +0200

Hi Jon,

I've updated the sample [1], so you can try to uncomment couple of lines
to try direct buffers.
Only one thing - you need to use latest Grizzly trunk to run it.

Thanks.

WBR,
Alexey.

[1]
http://java.net/projects/grizzly/sources/git/content/samples/http-server-samples/src/main/java/org/glassfish/grizzly/samples/httpserver/nonblockinghandler/UploadHttpHandlerSample.java

On 07/27/2011 10:58 PM, Jon Brisbin wrote:
> I'm trying to use the ByteBufferManager in my application because I'm
> hitting some issues with garbage collecting all these byte arrays I'm
> allocating for writing uploads. Whenever I try and allocate an object
> from it, though, I get this exception:
>
> java.lang.ClassCastException: java.nio.DirectByteBuffer cannot be cast
> to org.glassfish.grizzly.memory.HeapBuffer
> at
> org.glassfish.grizzly.memory.HeapMemoryManager$HeapBufferThreadLocalPool.reset(HeapMemoryManager.java:307)
> at
> org.glassfish.grizzly.memory.ByteBufferManager.reallocatePoolBuffer(ByteBufferManager.java:371)
> at
> org.glassfish.grizzly.memory.ByteBufferManager.allocateByteBuffer(ByteBufferManager.java:238)
> at
> org.glassfish.grizzly.memory.ByteBufferAware$allocateByteBuffer.call(Unknown
> Source)
>
> Are there example of proper use of this somewhere?
>
> Thanks!
>
> Jon Brisbin
> http//jbrisbin.com
>
>