Two questions:

what do you mean better ways???  

Is there a way to intercept a message just before it is permanently stored? I 
mean can i intercept messages just when the lock is aquired and are ready to 
permanently stored in amq or kahadb??

thnx,
Petrucci

> Date: Wed, 22 Dec 2010 17:30:46 +0100
> Subject: Re: Interceptor to get messages text
> From: de...@nighttale.net
> To: users@activemq.apache.org
> 
> Hi,
> 
> try
> 
> ((TextMessage)message).getText()
> 
> but there are better ways to achieve what your code is doing here.
> 
> Cheers
> --
> Dejan Bosanac
> -----------------
> FuseSource - The experts in open source integration and messaging.
> Email: dej...@fusesource.com
> Web: http://fusesource.com
> Twitter: áhttp://twitter.com/dejanb
> ActiveMQ in Action - http://www.manning.com/snyder/
> Blog - http://www.nighttale.net
> 
> 
> 
> 2010/12/22 Petrucci Andreas <petrucci_2...@hotmail.com>:
> >
> > Hi there, i have constructed an interceptor in order to get producers 
> > messages. the code is below.
> >
> > public class mypluginBroker extends BrokerFilter {
> >
> > public void send(ProducerBrokerExchange producer, Message message)
> > á áthrows Exception {
> >
> > á á á á á á á á á á/*System.out.println("Message : " + message.toString());
> >
> > á á á á á á á á á áConfiguration conf = new Configuration();
> > á á á á á á á á á á FileSystem fs = FileSystem.get(conf);
> >
> > á á á á á á á á á á Path filenamePath = new Path("hello.txt");
> >
> > á á á á á á á á á á try {
> > á á á á á á á á á á á FSDataOutputStream out = fs.append(filenamePath);
> > á á á á á á á á á á á System.out.println("Message Length : " + 
> > message.toString().length());
> > á á á á á á á á á á á out.writeUTF(message.toString() );
> > á á á á á á á á á á á out.close();}
> > á á á á á á á á á á á catch (IOException ioe) {
> > á á á á á á á á á á á á á System.err.println("IOException during operation: 
> > " + ioe.toString());
> > á á á á á á á á á á á á á System.exit(1);
> > á á á á á á á á á á á á }
> >
> > á á á á á á á á á ásuper.send(producer, message);*/
> > á á á á á á }
> >
> > }
> >
> >
> > However what i do finally catch is at most an String of 806 characters like 
> > this :
> >
> > Message : ActiveMQTextMessage {commandId = 5, responseRequired = false, 
> > messageId = ID:dante-50013-1293033095353-0:1:1:1:1, originalDestination = 
> > null, originalTransactionId = null, producerId = 
> > ID:dante-50013-1293033095353-0:1:1:1, destination = queue://TEST.FOO, 
> > transactionId = null, expiration = 0, timestamp = 1293033095707, arrival = 
> > 0, brokerInTime = 0, brokerOutTime = 0, correlationId = null, replyTo = 
> > null, persistent = false, type = null, priority = 4, groupID = null, 
> > groupSequence = 0, targetConsumerId = null, compressed = false, userID = 
> > null, content = null, marshalledProperties = null, dataStructure = null, 
> > redeliveryCounter = 0, size = 0, properties = null, readOnlyProperties = 
> > false, readOnlyBody = false, droppable = false, text = M}
> >
> > What I really want to get is the text field, but if the message size 
> > exceeds a certain size then i cannot catch it? Any ideas?
> >
> > thanks,
> > Petrucci
> >
                                          

Reply via email to