Java 类org.apache.camel.component.syslog.SyslogDataFormat 实例源码

项目:Camel    文件:SyslogDataFormatAutoConfiguration.java   
@Bean
@ConditionalOnClass(CamelContext.class)
@ConditionalOnMissingBean(SyslogDataFormat.class)
public SyslogDataFormat configureSyslogDataFormat(
        CamelContext camelContext,
        SyslogDataFormatConfiguration configuration) throws Exception {
    SyslogDataFormat dataformat = new SyslogDataFormat();
    if (dataformat instanceof CamelContextAware) {
        ((CamelContextAware) dataformat).setCamelContext(camelContext);
    }
    Map<String, Object> parameters = new HashMap<>();
    IntrospectionSupport.getProperties(configuration, parameters, null,
            false);
    IntrospectionSupport.setProperties(camelContext,
            camelContext.getTypeConverter(), dataformat, parameters);
    return dataformat;
}
项目:boundary-event-sdk    文件:SysLogRouteBuilder.java   
/**
 * Builds route for handling message forwarded from syslog.
 */
@Override
public void configure() {
    String uri = "netty:udp://"+ getBindAddress() + ":" + getPort() + "?sync=false&allowDefaultCodec=false";
       DataFormat syslogDataFormat = new SyslogDataFormat();
    RouteDefinition routeDefinition = from(uri);

    routeDefinition
    .startupOrder(startUpOrder)
    .routeId(routeId)
    .unmarshal(syslogDataFormat)
    .process(this.eventProcessor)
    .marshal().serialization()
       .to(toUri)
       ;
}
项目:wildfly-camel    文件:SyslogDataFormatTest.java   
@Test
public void testSyslogMarshal() throws Exception {

    CamelContext camelctx = new DefaultCamelContext();
    camelctx.addRoutes(new RouteBuilder() {
        @Override
        public void configure() throws Exception {
            from("direct:start")
            .marshal(new SyslogDataFormat());
        }
    });

    camelctx.start();
    try {
        Calendar calendar = Calendar.getInstance();
        calendar.set(2016, Calendar.SEPTEMBER, 26, 19, 30, 55);

        SyslogMessage message = new SyslogMessage();
        message.setHostname("camel-test-host");
        message.setLogMessage("Hello Kermit!");
        message.setTimestamp(calendar);

        ProducerTemplate template = camelctx.createProducerTemplate();
        String result = template.requestBody("direct:start", message, String.class);

        Assert.assertEquals(SYSLOG_RAW_MESSAGE, result);
    } finally {
        camelctx.stop();
    }
}
项目:wildfly-camel    文件:SyslogDataFormatTest.java   
@Test
public void testSyslogUnmarshal() throws Exception {
    int port = AvailablePortFinder.getNextAvailable();

    CamelContext camelctx = new DefaultCamelContext();
    camelctx.addRoutes(new RouteBuilder() {
        @Override
        public void configure() throws Exception {
            from("netty4:udp://localhost:" + port + "?sync=false&allowDefaultCodec=false")
            .unmarshal(new SyslogDataFormat())
            .to("mock:result");
        }
    });

    camelctx.start();
    try {
        MockEndpoint mockEndpoint = camelctx.getEndpoint("mock:result", MockEndpoint.class);
        mockEndpoint.expectedMessageCount(1);

        ProducerTemplate template = camelctx.createProducerTemplate();
        template.requestBody("netty4:udp://127.0.0.1:" + port + "?sync=false&allowDefaultCodec=false&useByteBuf=true", SYSLOG_RAW_MESSAGE);

        mockEndpoint.assertIsSatisfied();

        Exchange exchange = mockEndpoint.getReceivedExchanges().get(0);
        SyslogMessage message = exchange.getIn().getBody(SyslogMessage.class);

        Assert.assertEquals("camel-test-host", message.getHostname());
        Assert.assertEquals("Hello Kermit!", message.getLogMessage());
    } finally {
        camelctx.stop();
    }
}