[
https://issues.apache.org/jira/browse/CAMEL-7599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14066391#comment-14066391
]
Willem Jiang commented on CAMEL-7599:
-------------------------------------
Using the setting methods to configure the endpoint is useful if you want to
setup the endpoint through the Spring configuration file or Blueprint, and
there are some magics such as inject the camel context instance etc happen.
> LogEndpoint ignores setter (setGroupSize) - set via uri working
> ---------------------------------------------------------------
>
> Key: CAMEL-7599
> URL: https://issues.apache.org/jira/browse/CAMEL-7599
> Project: Camel
> Issue Type: Improvement
> Components: camel-core
> Affects Versions: 2.13.1
> Environment: Eclipse, jUnit, Windows
> Reporter: moritz löser
> Assignee: Willem Jiang
> Priority: Minor
> Fix For: 2.14.0
>
>
> I just tried to setup a throughput logger with java dsl (not using uri
> strings) and it seems that setGroupSize and other setters are ignored.
> To reproduce i wrote a test:
> {code:title=EndpointsUtilTest|borderStyle=solid}
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.log.LogEndpoint;
> import org.apache.camel.component.mock.MockEndpoint;
> import org.apache.camel.test.junit4.CamelTestSupport;
> import org.junit.Test;
> public class EndpointsUtilTest extends CamelTestSupport {
>
>
>
> private static final String MOCK_OUT = "mock:out";
> private static final String DIRECT_IN = "direct:in";
> @Test
> public void test() throws InterruptedException {
> MockEndpoint out = context.getEndpoint(MOCK_OUT, MockEndpoint.class);
> int expectedCount = 1000;
> out.expectedMessageCount(expectedCount);
> for (int i = 0; i < expectedCount; i++) {
> template.sendBody(DIRECT_IN, "blub");
> }
> out.assertIsSatisfied();
> }
> @Override
> protected RouteBuilder createRouteBuilder() throws Exception {
> return new RouteBuilder() {
>
> @Override
> public void configure() throws Exception {
>
> from(DIRECT_IN).to(getTPLogger()).to(getTPLoggerSetter()).to(MOCK_OUT);
> }
> };
> }
>
> private LogEndpoint getTPLogger(){
> LogEndpoint endpoint =
> context.getEndpoint("log:tplogger?groupSize=10", LogEndpoint.class);
>
> return endpoint;
> }
>
> private LogEndpoint getTPLoggerSetter(){
> LogEndpoint endpoint = context.getEndpoint("log:tploggerSetter",
> LogEndpoint.class);
> endpoint.setGroupSize(10);
>
> return endpoint;
> }
>
> }
> {code}
> Both loggers should produce same output but only the one produced with
> getTPLogger() is a correct throughput logger.
--
This message was sent by Atlassian JIRA
(v6.2#6252)