无法覆盖lagom kafka参数

By simon at 2018-02-07 • 0人收藏 • 70人看过

我创建了一个正常的java项目,并把所有的依赖关系的lagom kafka客户端 在类路径上,然后在源文件夹我把application.conf application.conf的内容

lagom.broker.kafka {
  service-name = ""

  brokers = "127.0.0.1:9092"

}
而运行应用程序服务名称=“”应该使用(所以米ÿ 经纪人路径可以使用,而不是发现),但它不工作 在调试时我发现在KafkaConfig类中服务名称出来 “kafka_native”。 我发现在创建KafkaConfig的时候,conf对象是不会来的 有我的application.conf起源 在此之后,我尝试用这样的vm参数覆盖它们:
-Dlagom.broker.kafka.service-name=""
-Dlagom.broker.kafka.brokers="127.0.0.1:9092"
-Dakka.kafka.consumer.kafka-clients.auto.offset.reset="earliest"
它的工作。有人可以解释为什么在应用程序conf重写不工作 这是我如何订阅主题
import java.net.URI;
import java.util.concurrent.CompletableFuture;

import com.ameyo.ticketing.ticket.api.TicketingService;
import com.ameyo.ticketing.ticket.api.events.TicketEvent;
import com.lightbend.lagom.javadsl.api.broker.Topic;
import com.lightbend.lagom.javadsl.client.integration.LagomClientFactory;
import com.typesafe.config.ConfigFactory;

import akka.Done;
import akka.stream.javadsl.Flow;

/**
 *
 */

public class Main {
    public static void main(String[] args) {

        String brokers = ConfigFactory.load().getString("lagom.broker.kafka.brokers");
        System.out.println("Initial Value for Brokers " + brokers);
        LagomClientFactory clientFactory = LagomClientFactory.create("legacy-system", Main.class.getClassLoader());
        TicketingService ticketTingService = clientFactory.createClient(TicketingService.class,
                URI.create("http://localhost:11000"));

        Topic<TicketEvent> ticketEvents = ticketTingService.ticketEvents();

        ticketEvents.subscribe().withGroupId("nya13").atLeastOnce(Flow.<TicketEvent> create().mapAsync(1, e -> {
            System.out.println("kuch to aaya");
            return CompletableFuture.completedFuture(Done.getInstance());
        }));

        try {
            Thread.sleep(1000000000);
        } catch (InterruptedException e1) {

        }
    }
}

2 个回复 | 最后更新于 2018-02-07
2018-02-07   #1

将配置更改为

akka{ 
    lagom.broker.kafka { 
        service-name = "" 
        brokers = "127.0.0.1:9092" 
    }
}
它的工作

2018-02-07   #2

将配置更改为

akka{ 
    lagom.broker.kafka { 
        service-name = "" 
        brokers = "127.0.0.1:9092" 
    }
}
它的工作

登录后方可回帖

Loading...