2017-08-04 4 views
0

私はakka-stream-kafkaを学んで使用しようとしており、その[documentation] [1]を調べていました。プロデューサの設定セクションでは、ProducerSettingsをプログラムでも構成からも使用して作成できることを示しています。プログラム構成の例がありますが、構成を使用して構成を作成する方法の例はありません。プログラム的な構成は単純ですが、以下はその例です。しかし、私はconfigベースの構造を使いたいと思っていました。設定をapplication.confにしたいと思っていました。私はGoogle上の例を見つけることができません。Hawはakka-stream-kafkaの設定(application.conf)からProducerSettingsを作成しますか?

val producerSettings = ProducerSettings(system, new ByteArraySerializer, new StringSerializer) 
    .withBootstrapServers("localhost:9092") 

答えて

1

ちょうど前方にあなたのApacheカフカのJavadocへProducerConfig用ドキュメント、あなたはakka.kafka.producer.kafka-clients configセクション内のキーとして使用できる定数の束を含んでいるので。

ドキュメントから参照設定を拡張、例は次のようになります。

# Properties for akka.kafka.ProducerSettings can be 
# defined in this section or a configuration section with 
# the same layout. 
akka.kafka.producer { 
    # Tuning parameter of how many sends that can run in parallel. 
    parallelism = 100 

    # How long to wait for `KafkaProducer.close` 
    close-timeout = 60s 

    # Fully qualified config path which holds the dispatcher configuration 
    # to be used by the producer stages. Some blocking may occur. 
    # When this value is empty, the dispatcher configured for the stream 
    # will be used. 
    use-dispatcher = "akka.kafka.default-dispatcher" 

    # Properties defined by org.apache.kafka.clients.producer.ProducerConfig 
    # can be defined in this configuration section. 
    kafka-clients { 
    bootstrap.servers = "localhost:9092" 
    enable.auto.commit = true 
    auto.commit.interval.ms = 10000 
    acks = "all" 
    retries = 0 
    batch.size = 16384 
    } 
} 

あなたapplication.confファイルの内容がそのようにあなたは以下のとおりProducerSettingsオブジェクトを作成するたびに、あなたのActorSystemにより、デフォルトでロードされます、それはakka.kafka.producerからの設定を取る必要があります。設定をコンストラクタに明示的に渡す必要はありません。

+0

あなたのコメントをいただきありがとうございました。この設定ファイルを使用して、ProducerSettingsプロパティを初期化/設定する方法を知りたいと思いました。 – Explorer

+0

私は答えを更新しました。基本的に、その設定はAkkaによって自動的にロードされるべきで、明示的に何もする必要はありません。 –

+0

それは働きました、私はクラスディレクトリにリソースディレクトリを持っていませんでした。ありがとう – Explorer

関連する問題