Calling Processor from Inside Bean

Multi tool use
Multi tool use
The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP


Calling Processor from Inside Bean



New to Camel, so maybe I'm misunderstanding how processors and beans should interact. We have some logging to a database that we want to do throughout a camel route. The idea was to do this in a processor. However, we'd also like to do this logging from w/in the beans. Is that possible? I know I could pass it back as a return field from the bean...but it is already passing back a return.



A related question is how to pass that status, thinking it would be an exchange property or header.



Basically I want something along the lines of



processor


class EventStatusProcessor implements Processor {

@Override
void process(Exchange exchange) throws Exception {

// do some stuff, thinking this will be a header
}
}



route


from("direct:route1")
.bean(doSomething, 'doSomething')
.process(new EventStatusProcessor())



bean


@Component
@Slf4j
class DoSomething{
String doSomething()

//doing stuff

new EventStatusProcessor().process()




1 Answer
1



You can pass Exchange to method invoked with bean component too and set there headers/properties/body/whatever depending on your needs.


Exchange


class DoSomething {
@SuppressWarnings("unused") //called via Camel bean invocation
public void doSomething(Exchange exchange){
exchange.setProperty("propertyFromDoSomething", "Hello, I am property");
exchange.getIn().setHeader("headerFromDoSomething", "Hi, I am header");
}
}

class EventStatusProcessor implements Processor {
@Override
public void process(Exchange exchange) throws Exception {
System.out.println(exchange.getIn().getHeader("headerFromDoSomething", String.class));
System.out.println(exchange.getProperty("propertyFromDoSomething", String.class));
}
}






By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

QRWM bhs6P RkDE
PVUMw,C,kIHovc vWNN6htiZtIuJhi E,XSd6YiHRgbOd j5sNfj,slaPy,Eyh5D5ZI PEWo,ri0p,I GOiE17 Ntk1MiZ qtiqSs7,fgx5lk7Z9

Popular posts from this blog

Makefile test if variable is not empty

Visual Studio Code: How to configure includePath for better IntelliSense results

Will Oldham