/** * Camel routes */ @Singleton public class HelloRoute extends RouteBuilder { // we can inject Camel endpoints (or also just use the uris directly in the Java DSL below) @EndpointInject(uri = "timer:foo?period=5s") private Endpoint input; @EndpointInject(uri = "log:output") private Endpoint output; @Override public void configure() throws Exception { from(input) // lookup bean with name helloBean .bean("helloBean") .to(output); } }
/** * A spring based REST service using {@link RestController}. */ @RestController public class GeoRestController { @EndpointInject(uri = "log:foo") // TODO: fix me in future Camel release private FluentProducerTemplate template; @RequestMapping("/country/{city}") public Object address(@PathVariable(name = "city") String city) { // use Camel's geocoder to get location about the city return template.to("geocoder:address:" + city).request(); } }
@EndpointInject(ref = "fileEndpoint") private Endpoint file; @EndpointInject(ref = "httpEndpoint") private Endpoint http; @EndpointInject(ref = "ftpEndpoint") private Endpoint ftp;
@EndpointInject(ref = "fileEndpoint") private Endpoint file; @EndpointInject(ref = "httpEndpoint") private Endpoint http; @EndpointInject(ref = "ftpEndpoint") private Endpoint ftp;
@EndpointInject(uri = "direct:sendMessage", context = "sinkClient") private ProducerTemplate template; @EndpointInject(uri = "direct:sendMessage", context = "sinkClient") private Endpoint endpoint;
@EndpointInject ProducerTemplate producer;
/** * Spring REST endpoint */ @RestController @RequestMapping("/spring") public class HelloRestController { /** * Inject Camel producer to use camel-geocoder to find location where we are */ @EndpointInject(uri = "geocoder:address:current") private FluentProducerTemplate producer; /** * HTTP GET method */ @RequestMapping(method = RequestMethod.GET, value = "/hello", produces = "text/plain") public String hello() { // call Camel to find our location, the returned string is in JSon format String where = producer.request(String.class); return "Hello from Spring Boot and Camel. We are at: " + where; } }
public class SplitInlineTest extends SyndesisTestSupport { public static final String START_URI = "direct:start"; public static final String RESULTS_URI = "mock:results"; @EndpointInject(uri = RESULTS_URI) protected MockEndpoint resultsEndpoint; @Test public void testStep() throws Exception { resultsEndpoint.expectedBodiesReceived("a","b","c"); template.sendBody(START_URI, "a,b,c"); MockEndpoint.assertIsSatisfied(resultsEndpoint); logMessagesReceived(resultsEndpoint); } @Override protected void addSyndesisFlows(SyndesisModel syndesis) { syndesis.createFlow() .endpoint(START_URI) .splitInline("tokenize", ",") .endpoint(RESULTS_URI); } }
public static final String RESULTS_URI = "mock:results"; @EndpointInject(uri = RESULTS_URI) protected MockEndpoint resultsEndpoint;
public static final String RESULTS_URI = "mock:results"; @EndpointInject(uri = RESULTS_URI) protected MockEndpoint resultsEndpoint;
public static final String RESULTS_URI = "mock:results"; @EndpointInject(uri = RESULTS_URI) protected MockEndpoint resultsEndpoint;
public static final String ALL_MESSAGES_URI = "mock:allMessages"; @EndpointInject(uri = MATCHED_URI) protected MockEndpoint matchedEndpoint; @EndpointInject(uri = ALL_MESSAGES_URI) protected MockEndpoint allMessagesEndpoint;
@EndpointInject(uri = RESULTS_URI) protected MockEndpoint resultEndpoint;
@ContextName("simple") public class SimpleCamelRoute extends RouteBuilder { @EndpointInject(uri="timer://start", context = "simple") private Endpoint timerEP;
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "/context-custom-configurer.xml", "/context-custom-routes.xml" }) public class RouteBuilderConfigurerTest { @Autowired ProducerTemplate producer; @EndpointInject(uri = "mock:output") MockEndpoint mockOut; @Test public void testConfigurer() throws Exception{ mockOut.setExpectedMessageCount(5); producer.sendBody("direct:input", "MLAH"); producer.sendBody("direct:input1", "BLAH"); producer.sendBody("direct:input2", "WLAH"); mockOut.assertIsSatisfied(); } }
protected ProducerTemplate producerTemplate; @EndpointInject(uri="mock:output") protected MockEndpoint mockOutput; @EndpointInject(uri="mock:error") protected MockEndpoint mockError;
/** * @author Martin Krasser */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "/context-core.xml" }) @TestExecutionListeners({DependencyInjectionTestExecutionListener.class}) public abstract class AbstractRouteTest { @Autowired protected ProducerTemplate producerTemplate; @EndpointInject(uri="mock:mock") protected MockEndpoint mock; @After public void tearDown() throws Exception { mock.reset(); } protected List<String> sendBodies(String endpointUri, ExchangePattern pattern, String body, int repeats) { ArrayList<String> result = new ArrayList<>(repeats); for (int i = 0; i < repeats; i++) { result.add((String)producerTemplate.sendBody(endpointUri, pattern, body)); } return result; } }
@DirtiesContext @RunWith(SpringRunner.class) @SpringBootTest( properties = { "spring.main.banner-mode=off", "syndesis.configuration=classpath:io/syndesis/integration/runtime/flow-with-tokenize-split-inline.yml" }, classes = { CamelAutoConfiguration.class, SyndesisAutoConfiguration.class } ) public class FlowWithTokenizeSplitInlineTest { @Produce(uri = "direct:start") private ProducerTemplate template; @EndpointInject(uri = "mock:results") private MockEndpoint mock; @Test public void test() throws Exception { mock.expectedMessageCount(3); mock.expectedBodiesReceived("1","2","3"); template.sendBody("1,2,3"); mock.assertIsSatisfied(); } }
@DirtiesContext @RunWith(SpringRunner.class) @SpringBootTest( properties = { "spring.main.banner-mode=off", "syndesis.configuration=classpath:io/syndesis/integration/runtime/flow-with-default-split-inline.yml" }, classes = { CamelAutoConfiguration.class, SyndesisAutoConfiguration.class } ) public class FlowWithDefaultSplitInlineTest { @Produce(uri = "direct:start") private ProducerTemplate template; @EndpointInject(uri = "mock:results") private MockEndpoint mock; @Test public void test() throws Exception { mock.expectedMessageCount(3); mock.expectedBodiesReceived("1","2","3"); template.sendBody(Arrays.asList("1","2","3")); mock.assertIsSatisfied(); } }
@Produce(uri = "direct:start") private ProducerTemplate template; @EndpointInject(uri = "mock:results") private MockEndpoint mock;