-
1. Re: java.lang.IllegalAccessError: This is a read-only buffer, setOperations are not supported
clebert.suconic Sep 29, 2010 8:12 AM (in response to veitg)The JMS Specification doesn't say how you're supposed to send large messages.
Large Messages are read only after received.
-
2. Re: java.lang.IllegalAccessError: This is a read-only buffer, setOperations are not supported
veitg Sep 29, 2010 8:26 AM (in response to clebert.suconic)I simply create an ObjectMessage via session.createObjectMessage(myObject). myObject is >100kb. Since ObjectMessage implements javax.jms.Message IMHO it must fulfill the contract to allow clearProperties() and write _properties_. It's independent of the fact that I'll send a message of a specific size. Internally it may be that large messages are read-only - but wouldn't that break the contract of javax.xml.Message (clearProperties)?
Sure that body and headers are read-only after receive, but properties can be written after calling clearProperties() - per contract.
-
3. Re: java.lang.IllegalAccessError: This is a read-only buffer, setOperations are not supported
timfox Sep 29, 2010 8:48 AM (in response to clebert.suconic)Clebert Suconic wrote:
The JMS Specification doesn't say how you're supposed to send large messages.
Large Messages are read only after received.
I think the current behaviour of large messages is wrong.
If a user sends a message that's over the large message size, then, fair enough, on the server, the server can store it as a large message.
However, when consuming, unless the user specifies to stream it say to disk, then the message should be re-assembled as a normal message on the client side.
Sure this may run out of memory if the message is very large, but in that case the user can set a flag on the consumer (or factory) to specify it as a large message.
In short it should be possible to transfer messages over large message size transparently to and from the server and they should be dealt with as normal messages.
-
4. Re: java.lang.IllegalAccessError: This is a read-only buffer, setOperations are not supported
timfox Sep 30, 2010 5:33 AM (in response to timfox)Clebert - no comment?
-
5. Re: java.lang.IllegalAccessError: This is a read-only buffer, setOperations are not supported
clebert.suconic Sep 30, 2010 8:14 AM (in response to timfox)I will change it on 2.2. I have a bunch of tasks around large message and I will do it as part of that.