You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "moritz löser (JIRA)" <ji...@apache.org> on 2014/07/14 15:28:04 UTC

[jira] [Created] (CAMEL-7599) LogEndpoint ignores setter (setGroupSize) - set via uri working

moritz löser created CAMEL-7599:
-----------------------------------

             Summary: 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


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=Bar.java|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)