Hi,
I received the same exception error as above, even if you use a consumer
without any sort of selector (see below).
I think that the consumer procedure for some my mistake is not istantiated,
but I don't find the solution.
Excluding the code line with "consumer.receiveBody" all is OK!

Many thanks for your help,
Best Regards,
Romualdo



--------------------- BEAN---------------------------->
// TelelinkCommandBean.java

package newlog.camel;

import org.apache.camel.*;


public class TelelinkCommandBean {
        private ProducerTemplate producer;
        private ConsumerTemplate consumer;
        
    public void setConsumer(ConsumerTemplate consumer) {
        this.consumer = consumer;
    }
    public void setProducer(ProducerTemplate producer) {
        this.producer = producer;
    }
        
        public void getTelelinkCommand(Exchange exchange) {
                String body = null;
                String bodyTelelink = null;
                String command = null;
                String telelink = null;
                
        // receive the message from payload exchange
                body = exchange.getIn().getBody(String.class);
                telelink = body.substring(5, 14);
                System.out.println("after receiving payload: telelink ID = " +
telelink);
                

      // loop to empty queue
        while (true) {
                
                // receive the message from the COMMAND queue
                bodyTelelink = consumer.receiveBody("file:src/data", 
String.class);
            if (bodyTelelink == null) {
                // no more messages in queue
                break;
            }

                        if (bodyTelelink.contains("#")) {
                                System.out.println("OK " + telelink + "=" + 
bodyTelelink);
                                command = bodyTelelink.substring(10);
                        } else {
                                System.out.println("NO OK " + telelink + "<>" + 
bodyTelelink);
                                command = bodyTelelink;
                                }
        // send it out the command
                        exchange.getIn().setBody(command);
        }
    }
}

-------------------EXCEPTION ERROR----------------->

[    New I/O server worker #1-1] Tracer                         INFO 
38923066-b464-45fb-9a8e-0b63e45a38d9 >>> (route2) from(tcp://localhost:5000)
--> ref:myBeanId method: getTelelinkCommand <<< Pattern:InOut,
Headers:{CamelNettyMessageEvent=[id: 0x012d9844, /127.0.0.1:3013 =>
/127.0.0.1:5000] RECEIVED:
$DCS,550700111,100908120155,1,45.57075,9.36793,78,156.5,123456,067F,0,0,,1,00001,000,12.7,214,583,0A10,
CamelNettyRemoteAddress=/127.0.0.1:3013,
camelnettychannelhandlercontext=org.jboss.netty.channel.defaultchannelpipeline$defaultchannelhandlercont...@16c14e7},
BodyType:String,
Body:$DCS,550700111,100908120155,1,45.57075,9.36793,78,156.5,123456,067F,0,0,,1,00001,000,12.7,214,583,0A10
after receiving payload: telelink ID = 550700111
[    New I/O server worker #1-1] DefaultErrorHandler            ERROR Failed
delivery for exchangeId: 38923066-b464-45fb-9a8e-0b63e45a38d9. Exhausted
after delivery attempt: 1 caught: java.lang.NullPointerException
java.lang.NullPointerException
-- 
View this message in context: 
http://camel.465427.n5.nabble.com/Messages-queue-filtered-depending-on-info-received-by-another-queue-tp2805911p2807766.html
Sent from the Camel Development mailing list archive at Nabble.com.

Reply via email to