私はLagom 1.2.2でセットアップされたメッセージブローカーを実装しようとしていて、壁に入っています。ドキュメントには、サービス記述子のために、次の例があります。Lagomのメッセージブローカーの完全な例
実装のdefault Descriptor descriptor() {
return named("helloservice").withCalls(...)
// here we declare the topic(s) this service will publish to
.publishing(
topic("greetings", this::greetingsTopic)
)
....;
}
そして、この例:
public Topic<GreetingMessage> greetingsTopic() {
return TopicProducer.singleStreamWithOffset(offset -> {
return persistentEntityRegistry
.eventStream(HelloEventTag.INSTANCE, offset)
.map(this::convertEvent);
});
}
ただし、引数の型やconvertEvent()
関数の戻り値の型が何であるかのない例がありませんこれは私が空白を描いている場所です。もう一方の端では、MessageBrokerにへの加入者は、GreetingMessage
オブジェクトを消費していているようですが、私はGreetingMessage
オブジェクトを返すように機能convertEvent
を作成するときに、私はコンパイルエラーを取得:
Error:(61, 21) java: method map in class akka.stream.javadsl.Source<Out,Mat> cannot be applied to given types;
required: akka.japi.function.Function<akka.japi.Pair<com.example.GreetingEvent,com.lightbend.lagom.javadsl.persistence.Offset>,T>
found: this::convertEvent
reason: cannot infer type-variable(s) T
(argument mismatch; invalid method reference
incompatible types: akka.japi.Pair<com.example.GreetingEvent,com.lightbend.lagom.javadsl.persistence.Offset> cannot be converted to com.example.GreetingMessage)
は、任意のより多くの、より徹底的ありますこれを使用する方法の例?私はすでにChirperサンプルアプリをチェックしてあり、これの例はないようです。
ありがとうございます!あなたが貼り付けられた
感謝を。私はあなたが提供したオークションのサンプルアプリケーションを熟考しています。(実際には、私がとにかく欲しいものになるかもしれません。) パートI行方不明だったのは、 'convertEvent'の引数だったからです。私は戻り値の型が正しく、迷子になってしまったとしても、戻り値の型を乱していると仮定していました。 もう一度、助けてくれてありがとう! –