https://github.com/playframework/play-java-websocket-exampleという変更を加えて助けが必要です。 この例文は、指定された株式IDについてはSource
に基づいています。Play Framework WebSocketの例 - 実際のソースは1つだけです(偽のジェネレータはありません)
public Source<StockUpdate, NotUsed> update() {
return source.throttle(1, duration, 1, ThrottleMode.shaping())
.map(sq -> new StockUpdate(sq.symbol, sq.price));
}
ずっと一部の例では、私が(「時計/ unwatch」株式のアイデアを)必要とするものであるので、私は非常に似た方法でそれを使用したい:すべてのSource
は、いくつかの時間間隔で新たな株式価値を生成します私はリアル、1つの証券取引所のソースに接続しているので、私は株価の時間間隔ジェネレータを私のアプリで偽造したくありません。 私はStock.update(から何とかそれを取得したい私はjava.io.InputStream
を経由して(私のアプリの他の部分での)メッセージを読むと、今のところ、私はqueue.offer(message)
、今経由java.util.Queue
(java.util.concurrent.LinkedBlockingQueue
)に入れて)(ただし、私は「ドンそれが最良の場所であることを知っている)。
これまでのところ、Source.queue(BUFFER_LENGTH, OverflowStrategy.backpressure())
などを使用できることがわかりましたが、(my)キューへの参照はありません。たぶん誰かが私のような変更を必要とし、いくつかのヒントを与えることができる
など、 はまた、私はSource.queue(BUFFER_LENGTH, OverflowStrategy.backpressure()).to(...).run(...).offer(...)
を使用することができることを知っているが、生憎私はFlow
とUserActor.addStock(Stock)
でそれを接続する方法がわからない、UniqueKillSwitch
?
しかし、 'Stock.java'の' Source.queue'に 'MyClass.java'のキューに入れる(提供する)方法はありますか? Source.queue(...)は 'Source