1 Reply Latest reply on Apr 15, 2009 4:57 AM by mielket

    ActiveMQ BlobMessage

      I am looking to implement a file transfer using JMS and specifically use ActiveMQ BlobMessage.  I am trying to do this in FUSE using a custom JMS Provider Marshaler. 

       

      To do this I have created a class that implements the JmsProviderMarshaler interface.  This interface requires two methods be implemented:

      public Message createMessage(MessageExchange messageExchange, NormalizedMessage normalizedMessage, Session session) throws Exception

      public void populateMessage(Message message, MessageExchange messageExchange,
      NormalizedMessage normalizedMessage) throws Exception

      I can create a BlobMessage ok in the createMessage method but I don't know how to then populate the BlobMessage back into the MessageExchange since it requires a NormalizedMessage.  I want to be able to take advantage of the features provided by the BlogMessage like moving large files without consuming large amounts of system memory.

       

      Can anyone give me pointers on this?

        • 1. Re: ActiveMQ BlobMessage
          mielket

          Instead of writing your own marshaler to deal with binary messages in FUSE ESB, it might be easier to use Camel which has this capability out of the box.

          If you only want to route the file to a JMS endpoint, a simple Camel route like this one might already do the job:

           

          public class QuickRoutesBuilder extends RouteBuilder {
            public void configure() throws Exception {
              from("file:inbox").to("jms:SomeQueue");
            }     
          }
          

           

          It will work perfectly fine with binary messages.

           

          Edited by: tmielke on Apr 15, 2009 8:57 AM