Trying to use the dataset component, but I get the following error?
log4j:WARN No appenders could be found for logger (org.apache.camel.impl.MainSupport).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Failed to create route cMessagingEndpoint_3: Route] -> [To[jetty:http://www.google.com... because of Failed to resolve endpoint: dataset://foo due to: registry entry called foo of type org.apache.camel.component.dataset.DataSet must be specified
I want to create 10 dumby messages to send to "jetty".
As the dataset component in Camel, a data set instance must be specified.
In your MessageEndpoint from("dataset:foo"), the dataset "foo" must be declared. Otherwise it will come out with an exception.
According to camel help document online, http://camel.apache.org/dataset.html, the dataset with name "foo" shoule be found at DataSet instance in the Registry. Here is a simple about registry in spring XML.
<bean id="foo" class="org.apache.camel.component.dataset.SimpleDataSet">
<property name="size" value="100"/>
Or you can try to register it using java codes, create a Registry and pass it to the CamelContext.
SimpleRegistry registry = new SimpleRegistry();
CamelContext context = new DefaultCamelContext(registry);
In one word, the dataset component need dataset instance registry, and sorry that currently the cMessageEndpoint doesn't support.
Good news that we can support the dataset endpoint in our 5.0M4. There is a new Component "cContextConfig" in Studio that can be used to manipulate the CamelContext. For the dataset, just need to register some dataset bean into the CamelContext.
1, Drag a cContextConfig from palette into create Route
2, Write codes to register a dataset bean in cContextConfig
org.apache.camel.impl.SimpleRegistry registry = new org.apache.camel.impl.SimpleRegistry();
registry.put("foo", new org.apache.camel.component.dataset.SimpleDataSet());
3, Start route, Route will work!