Class ComponentAvailable as of Camel 2.4 The class: component binds beans to Camel message exchanges. It works in the same way as the Bean component but instead of looking up beans from a Registry it creates the bean based on the class name. URI formatclass:className[?options] Where className is the fully qualified class name to create and use as bean. Options
You can append query options to the URI in the following format, ?option=value&option=value&... UsingYou simply use the class component just as the Bean component but by specifying the fully qualified classname instead.
from("direct:start").to("class:org.apache.camel.component.bean.MyFooBean").to("mock:result");
You can also specify which method to invoke on the MyFooBean, for example hello:
from("direct:start").to("class:org.apache.camel.component.bean.MyFooBean?method=hello").to("mock:result");
Setting properties on the created instanceIn the endpoint uri you can specify properties to set on the created instance, for example if it has a setPrefix method:
from("direct:start")
.to("class:org.apache.camel.component.bean.MyPrefixBean?prefix=Bye")
.to("mock:result");
And you can also use the # syntax to refer to properties to be looked up in the Registry.
from("direct:start")
.to("class:org.apache.camel.component.bean.MyPrefixBean?cool=#foo")
.to("mock:result");
Which will lookup a bean from the Registry with the id foo and invoke the setCool method on the created instance of the MyPrefixBean class.
See Also |