Hi Marc,

for messages of that size, I'd definitely recommend using FTP. You can find
examples of how to use FTP with blob messages in this test case

http://fisheye6.atlassian.com/browse/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/blob/FTPBlobTest.java?r=HEAD

(and some more in that package).

Of course, tests are using embedded FTP server, but you might opt for an
external one.

Cheers
--
Dejan Bosanac - http://twitter.com/dejanb

Open Source Integration - http://fusesource.com/
ActiveMQ in Action - http://www.manning.com/snyder/
Blog - http://www.nighttale.net


On Sat, Jan 30, 2010 at 3:43 AM, Marc Weil <marc.w...@gmail.com> wrote:

> Hello everyone,
>
> I'm trying to send a large (~1.6GB) BlobMessage to my ActiveMQ server via a
> queue and every time I try I get a seemingly endless series
> of IllegalArgumentExceptions with the same backtrace:
>
> ERROR | EXCEPTION
> java.lang.IllegalArgumentException
>        at java.nio.Buffer.position(Buffer.java:235)
>        at org.mortbay.io.nio.NIOBuffer.poke(NIOBuffer.java:142)
>        at org.mortbay.io.AbstractBuffer.put(AbstractBuffer.java:391)
>        at org.mortbay.jetty.HttpParser.reset(HttpParser.java:844)
>        at org.mortbay.jetty.HttpConnection.destroy(HttpConnection.java:131)
>        at
>
> org.mortbay.jetty.AbstractConnector.connectionClosed(AbstractConnector.java:785)
>        at
>
> org.mortbay.jetty.nio.SelectChannelConnector.access$100(SelectChannelConnector.java:64)
>        at
>
> org.mortbay.jetty.nio.SelectChannelConnector$1.endPointClosed(SelectChannelConnector.java:92)
>        at
>
> org.mortbay.io.nio.SelectChannelEndPoint.doUpdateKey(SelectChannelEndPoint.java:382)
>        at
>
> org.mortbay.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:337)
>        at
> org.mortbay.io.nio.SelectorManager.doSelect(SelectorManager.java:166)
>        at
>
> org.mortbay.jetty.nio.SelectChannelConnector.accept(SelectChannelConnector.java:124)
>        at
>
> org.mortbay.jetty.AbstractConnector$Acceptor.run(AbstractConnector.java:537)
>        at
>
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>
>
> I'm assuming this is coming from the built-in Jetty fileserver. I've
> googled
> around for quite a while but can't seem to find anything recent about this
> problem. I am giving ActiveMQ 5Gb of RAM in the startup script, so I don't
> think that is the issue (unless jetty also needs to be forced to start with
> a certain heap size).
>
> My server is a 4-processor, 8-core machine running Ubuntu x86-64, ActiveMQ
> 5.3.0, and OpenJDK 1.6.0 64-bit server edition. The machine itself has 32Gb
> of RAM so I have plenty of memory to play with.
>
> I'm not really sure what else to use since the docs on BlobMessages only
> briefly mentions using other out-of-band solutions (SCP, FTP, etc) without
> going into any details. If anyone has any ideas of where I need to look to
> trace the root cause, or has any other ideas about how to try configuring
> things, I'd greatly appreciate it. Perhaps I'm not supposed to be using the
> built-in jetty server for such large messages?
>
> Thanks,
> Marc
>

Reply via email to