小编Rem*_*coW的帖子

Akka Stream Option输出

我已经创建了一个阿卡流具有简单Source,FlowSink.有了这个,我可以轻松地通过它发送元素.现在我想改变这个流,以便Flow返回一个Option.取决于Option我想要改变输出的结果Flow.

在此输入图像描述

是否有可能创建这样的结构?

scala akka akka-stream

7
推荐指数
1
解决办法
1566
查看次数

Akka Stream从Sink返回对象

我有一个SourceQueue.当我向它提供一个元素时,我希望它通过它Stream,当它到达时,Sink输出返回到提供此元素的代码(类似于Sink.head返回一个元素到RunnableGraph.run()调用).

我该如何实现这一目标?我的问题的一个简单例子是:

val source = Source.queue[String](100, OverflowStrategy.fail)
val flow = Flow[String].map(element => s"Modified $element")
val sink = Sink.ReturnTheStringSomehow
val graph = source.via(flow).to(sink).run()

val x = graph.offer("foo")
println(x) // Output should be "Modified foo"
val y = graph.offer("bar")
println(y) // Output should be "Modified bar"
val z = graph.offer("baz")
println(z) // Output should be "Modified baz"
Run Code Online (Sandbox Code Playgroud)

编辑:我在这个问题中给出的例子弗拉基米尔马特维耶夫提供了最好的答案.但是,应该注意的是,只有当元素sink按照它们提供给它们的相同顺序进入时,此解决方案才有效source.如果无法保证这一点,则元素的顺序sink可能不同,结果可能与预期的不同.

scala akka akka-stream

3
推荐指数
1
解决办法
2093
查看次数

IntelliJ IDEA / DataGrip:当前语句的 SQL 边框突出显示

我昨天安装了一个颜色主题,但丢失了之前包围我正在处理的 SQL 语句的边框。它是图像中查询周围的紫色边框。

在此输入图像描述

我进行了搜索,但找不到定义此颜色的设置。有谁知道我怎样才能拿回这个边框?我认为我安装的主题要么改变了该边框的颜色,要么完全禁用了它。

colors intellij-idea datagrip

2
推荐指数
1
解决办法
539
查看次数

Akka无法启动ActorSystem

我一直在关注Akka Streams快速入门指南,我遇到了一个错误.我的代码很简单:

object Main extends App {
  implicit val system = ActorSystem("QuickStart")
  implicit val materializer = ActorMaterializer()

  val source: Source[Int, NotUsed] = Source(1 to 100)
  source.runForeach(i => println(i)) (materializer)
}
Run Code Online (Sandbox Code Playgroud)

但是这会导致错误:

线程"main"java.lang.NoClassDefFoundError中的异常:akka.util.Timeout中的scala/Product $ class.(Timeout.scala:13)akka.actor.ActorSystem $ Settings.(ActorSystem.scala:179)at akka. actor.ActorSystemImpl.(ActorSystem.scala:530)atkka.actor.ActorSystem $ .apply(ActorSystem.scala:142)atkka.actor.ActorSystem $ .apply(ActorSystem.scala:109)at streams_test.Main $ .delayedEndpoint $ streams_test $ Main $ 1(Main.scala:14)at streams_test.Main $ delayedInit $ body.apply(Main.scala:13)at scala.runtime.AbstractFunction0.apply $ mcV $ sp(AbstractFunction0.scala:12)at scala .app.$ anonfun $ main $ 1 $ adapt(App.scala:76)at scala.collection.immutable.List.foreach(List.scala:378)scala.App.main(App.scala:76)at scala. app.main $(App.scala:74)at streams_test.Main $ …

scala akka

1
推荐指数
1
解决办法
3699
查看次数

Scala方法名称长度约定

我正在研究对应用程序的可读性有影响的代码味道.我遇到了很长的方法名称,我想知道是否有这样的约定.

我已经检查了scaladocs中命名约定,但它没有列出任何有关方法名称长度的内容.我还检查了Scalastyle规则并注意到它默认为50.

方法名称的最大长度是否有正式约定,如果有,它有多长时间?

scala method-names name-length scalastyle

0
推荐指数
1
解决办法
311
查看次数