Added check for custom 'suppress_content_length' header. If set as 'true' - the length of the message will not be passed to socket (as 'content-length' header), so the message will not be interpreted as BytesMessage. The problem adequately described at http://www.juretta.com/log/2009/05/24/activemq-jms-stomp/