You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2021/03/02 08:18:00 UTC

[jira] [Resolved] (CAMEL-16280) NettyEndpointUriFactory#buildUri() not compatible with Netty endpoint URL

     [ https://issues.apache.org/jira/browse/CAMEL-16280?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-16280.
---------------------------------
    Resolution: Fixed

> NettyEndpointUriFactory#buildUri() not compatible with Netty endpoint URL
> -------------------------------------------------------------------------
>
>                 Key: CAMEL-16280
>                 URL: https://issues.apache.org/jira/browse/CAMEL-16280
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-netty
>    Affects Versions: 3.8.0
>            Reporter: Tadayoshi Sato
>            Assignee: Tadayoshi Sato
>            Priority: Major
>             Fix For: 3.9.0
>
>         Attachments: camel-netty.jsh
>
>
> Run this jbang script:
> {code:java}
> ///usr/bin/env jbang "$0" "$@" ; exit $?
> //DEPS org.apache.camel:camel-core-engine:3.8.0
> //DEPS org.apache.camel:camel-main:3.8.0
> //DEPS org.apache.camel:camel-stream:3.8.0
> //DEPS org.apache.camel:camel-netty:3.8.0
> //DEPS org.slf4j:slf4j-nop:1.7.25
> import java.util.*;
> import org.apache.camel.*;
> import org.apache.camel.spi.*;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.main.Main;
> import org.apache.camel.component.netty.*;
> Main main = new Main();
> main.configure().addRoutesBuilder(new RouteBuilder() {
>     @Override
>     public void configure() throws Exception {
>         EndpointUriFactory factory = getContext().adapt(ExtendedCamelContext.class).getEndpointUriFactory("netty");
>         Map<String, Object> config = Map.of(
>             "protocol", "tcp",
>             "host", "localhost",
>             "port", 9999
>         );
>         String uri = factory.buildUri("netty", config, false);
>         System.out.println("uri = " + uri);
>         from(uri).to("stream:out");
>         //from("netty:tcp://localhost:9999").to("stream:out"); // this is OK
>     }
> });
> main.run();
> {code}
> and you'll get the following error:
> {code}
> $ ./camel-netty.jsh 
> uri = netty:tcp:localhost:9999
> Exception java.lang.IllegalArgumentException: hostname can't be null
>       at InetSocketAddress.checkHost (InetSocketAddress.java:149)
>       at InetSocketAddress.<init> (InetSocketAddress.java:216)
>       at SingleTCPNettyServerBootstrapFactory.startServerBootstrap (SingleTCPNettyServerBootstrapFactory.java:184)
>       at SingleTCPNettyServerBootstrapFactory.doStart (SingleTCPNettyServerBootstrapFactory.java:113)
>       at BaseService.start (BaseService.java:115)
>       at ServiceHelper.startService (ServiceHelper.java:84)
>       at NettyConsumer.doStart (NettyConsumer.java:75)
>       at BaseService.start (BaseService.java:115)
>       at AbstractCamelContext.startService (AbstractCamelContext.java:3446)
>       at InternalRouteStartupManager.doStartOrResumeRouteConsumers (InternalRouteStartupManager.java:401)
>       at InternalRouteStartupManager.doStartRouteConsumers (InternalRouteStartupManager.java:319)
>       at InternalRouteStartupManager.safelyStartRouteServices (InternalRouteStartupManager.java:213)
>       at InternalRouteStartupManager.doStartOrResumeRoutes (InternalRouteStartupManager.java:147)
>       at AbstractCamelContext.doStartCamel (AbstractCamelContext.java:3150)
>       at AbstractCamelContext.doStartContext (AbstractCamelContext.java:2846)
>       at AbstractCamelContext.doStart (AbstractCamelContext.java:2797)
>       at BaseService.start (BaseService.java:115)
>       at AbstractCamelContext.start (AbstractCamelContext.java:2492)
>       at Main.doStart (Main.java:116)
>       at BaseService.start (BaseService.java:115)
>       at MainSupport.run (MainSupport.java:68)
>       at (#9:1)
> {code}
> This issue is the root cause of this CKC issue:
> https://github.com/apache/camel-kafka-connector/issues/924



--
This message was sent by Atlassian Jira
(v8.3.4#803005)