首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法覆盖lagom kafka参数

无法覆盖lagom kafka参数
EN

Stack Overflow用户
提问于 2018-01-31 19:30:13
回答 1查看 566关注 0票数 1

我创建了一个普通的java项目,并将lagom kafka客户端的所有依赖项放在类路径上,然后将application.conf放在源文件夹中。

application.conf的内容

代码语言:javascript
复制
lagom.broker.kafka {
  service-name = ""

  brokers = "127.0.0.1:9092"

}

在运行应用程序时,应该使用service-name = "“(以便可以使用我的代理路径,而不是发现),但它不起作用

调试时,我发现在KafkaConfig类中,服务名变成了"kafka_native“。

我发现在创建KafkaConfig时,即将到来的conf对象在其源中没有我的application.conf

之后,我尝试使用vm参数覆盖它们,如下所示:

代码语言:javascript
复制
-Dlagom.broker.kafka.service-name=""
-Dlagom.broker.kafka.brokers="127.0.0.1:9092"
-Dakka.kafka.consumer.kafka-clients.auto.offset.reset="earliest"

而且它起作用了。

有人能解释一下为什么在应用程序中覆盖conf不起作用吗?

这就是我订阅主题的方式

代码语言:javascript
复制
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) {

        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-06 22:03:35

将配置更改为

代码语言:javascript
复制
akka{ 
    lagom.broker.kafka { 
        service-name = "" 
        brokers = "127.0.0.1:9092" 
    }
}

而且它起作用了

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48541107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档