Hi, you have posted the issue some days ago, here is the link:
http://activemq.2283324.n4.nabble.com/ActiveMQ-Stream-Messaging-amp-JMS-Properties-td4661193.html
I believe you can obtain the properties that carrying the meta data via call on 
the getJMSProperties method 
of ActiveMQInputStream.
You may see the jira: 
https://issues.apache.org/jira/browse/AMQ-4241



At 2013-01-04 16:17:21,gfshaikh <ghulam.sha...@taxware.com> wrote:
>Hi All
>
>I am trying to figure out this issue for a POC we are doing with ActiveMQ.
>We are using Output and InputStreams to copy files across from producer to
>consumer. The files get copied acrosss correctly however we also need to
>pass some meta data in the form of file names so that the file can be named
>correctly at the recepient end.
>
>The following is some sample code which I am using, appreciate some feedback
>if someone has a working solution for this issue.
>
>Sender
>-------
>FileInputStream in = new FileInputStream(
>      "C:\\Temp\\FileName.txt");
>
>    String brokerURI = ActiveMQConnectionFactory.DEFAULT_BROKER_URL;
>    ActiveMQConnectionFactory connectionFactory = new
>ActiveMQConnectionFactory(
>      brokerURI);
>    ActiveMQConnection connection = (ActiveMQConnection) connectionFactory
>      .createConnection();
>    connection.start();
>    Session session = connection.createSession(false,
>Session.AUTO_ACKNOWLEDGE);
>    Queue destination = session.createQueue(QUEUE_NAME);
>    
>    Map myMap = new HashMap();
>    myMap.put("invocation", "invocation");
>    ActiveMQOutputStream out =
>(ActiveMQOutputStream)connection.createOutputStream(destination, myMap,
>ActiveMQMessage.DEFAULT_DELIVERY_MODE, ActiveMQMessage.DEFAULT_PRIORITY,
>ActiveMQMessage.DEFAULT_TIME_TO_LIVE); 
>    // now write the file on to ActiveMQ
>    byte[] buffer = new byte[1024];
>    while (true)
>    {
>      int bytesRead = in.read(buffer);
>      if (bytesRead == -1)
>      {
>        break;
>      }
>      out.write(buffer, 0, bytesRead);
>    }
>    out.close();
>
>Receiver
>---------
>String brokerURI = ActiveMQConnectionFactory.DEFAULT_BROKER_URL;
>ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
>      brokerURI);
>ActiveMQConnection connection = (ActiveMQConnection) connectionFactory
>      .createConnection();
>connection.start();
>Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
>// we want be be an exclusive consumer
>String exclusiveQueueName = QUEUE_NAME + "?consumer.exclusive=true";
>Queue destination = session.createQueue(exclusiveQueueName);
>InputStream in = connection.createInputStream(destination);
>String myString = IOUtils.toString(in);
>FileOutputStream out = new FileOutputStream(
>      "C:\\Temp\\NeedTargetFileName.txt");
>out.write(myString.getBytes());
>
>Thanks                
>
>
>
>--
>View this message in context: 
>http://activemq.2283324.n4.nabble.com/Sending-Meta-Data-over-Active-MQ-Channel-for-Stream-Messages-tp4661318.html
>Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to