[ 
https://issues.apache.org/jira/browse/CAMEL-7599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14061809#comment-14061809
 ] 

Willem Jiang commented on CAMEL-7599:
-------------------------------------

When you use the context.getEndpoint() to create the endpoint, the endpoint 
properties are set by the uri, I don't think it's bug.
I just did some work on the camel-logger component to support to configure the 
logEndpoint like this.

{code}
                LogEndpoint endpoint = new LogEndpoint();
                endpoint.setLoggerName("loggerSetter");
                endpoint.setGroupSize(10);
                // We need to inject the camel context here
                endpoint.setCamelContext(context);
                // Need to call the start to setup right logger processor  
                endpoint.start();
{code}

> LogEndpoint ignores setter (setGroupSize) - set via uri working
> ---------------------------------------------------------------
>
>                 Key: CAMEL-7599
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7599
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.13.1
>         Environment: Eclipse, jUnit, Windows 
>            Reporter: moritz löser
>            Assignee: Willem Jiang
>
> 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)

Reply via email to