小编Ana*_*and的帖子

map和mapAsync之间的区别

任何人都可以解释我地图和mapAsync与AKKA流之间的区别吗?在文档中,据说

可以使用mapAsync或mapAsyncUnordered执行涉及外部非基于流的服务的流转换和副作用

为什么我们不能简单地在这里映射?我假设Flow,Source,Sink都是Monadic,因此map应该在这些性质的延迟中正常工作?

scala akka-stream

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

Javas流的Scala等效于findFirst()

任何人都知道以下java流操作的Scala等价物 - findFirst()

lst.stream()
    .filter(x -> x > 5)
    .findFirst()
Run Code Online (Sandbox Code Playgroud)

谢谢

scala java-8 java-stream

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

在Scala Vs Java 8中进行折叠操作

如何执行下面的Scala操作来查找java 8中字符串中最常见的字符?

val tst = "Scala is awesomestttttts"
val op  = tst.foldLeft(Map[Char,Int]())((a,b) => {
    a+(b -> ((a.getOrElse(b, 0))+1))
  }).maxBy(f => f._2)
Run Code Online (Sandbox Code Playgroud)

这里的输出是

(Char, Int) = (t,6)
Run Code Online (Sandbox Code Playgroud)

我能够在Java 8中获得这样的字符流:

Stream<Character> sch = tst.chars().mapToObj(i -> (char)i);
Run Code Online (Sandbox Code Playgroud)

但是无法弄清楚我们在Java 8中使用的fold/foldLeft/foldRight替代方案

有人可以帮忙吗?

scala java-8 java-stream

5
推荐指数
2
解决办法
686
查看次数

AKKA期货和Java线程

我在一个问题中有一个关于期货使用的问题 - 期货是否在一个线程上执行?(斯卡拉).如果为了到达Future,使用了一个新的/独立的线程,那么AKKA提供的优势比Java线程更大?WebClient的数量受应用程序可以生成的最大线程数限制吗?与系统可以创建的actor数量相比,线程数量将会非常少.我只是想知道是否有其他方法,以便当有大量请求进入时,系统将能够处理它们?

scala future akka

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

Scala Lazy Collection可以解释一下以下行为

我有一个普通的列表,并在其上定义了两个过滤器.我使用第一个过滤器过滤列表,然后使用下一个过滤器过滤输出并获取最后一个元素.

  1. 我在List对象上进行上述操作lst(NORMAL LIST)
  2. 我在lst.view上进行上述操作(LAZY LIST)

第二个操作似乎需要更多迭代.似乎在某一点上重新开始操作.请找到下面的代码.有人可以解释原因吗?

object SolutionTest {
  val lst = List(("Mark", 32), ("Bob", 22), ("Jane", 8), ("Jill", 21),("Nick", 50), ("Nancy", 42), ("Mike", 19), ("Sara", 12), ("Paula", 42),("John", 21))
                                              //> lst  : List[(String, Int)] = List((Mark,32), (Bob,22), (Jane,8), (Jill,21), 
                                              //| (Nick,50), (Nancy,42), (Mike,19), (Sara,12), (Paula,42), (John,21))
    lst.size                                  //> res0: Int = 10

  def filter1(tup:(String, Int)):Boolean={
    println("from filter1 "+ tup)
    val (_, age) = tup
    age > 17
  }                                               //> filter1: (tup: (String, Int))Boolean

  def filter2(tup:(String, Int)):Boolean={
    println("from filter2 "+ …
Run Code Online (Sandbox Code Playgroud)

scala

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

弹性模式错误 - 根映射定义具有不受支持的参数

我使用的是elasticsearch版本2.1.1.当我尝试使用以下有效内容创建模式时,它会给出"不支持的参数"错误:

URL : http://localhost:9200/enron/mails/_mapping
Operation: PUT
Payload:
    {
      "enron": {
        "properties": {
          "message_id": {
            "type": "string",
            "index": "not_analyzed",
            "store": "yes"
          },
          "from": {
            "type": "string",
            "index": "not_analyzed",
            "store": "yes"
          },
          "to": {
            "type": "string",
            "index": "not_analyzed",
            "store": "yes",
            "multi_field": "yes"
          },
          "x_cc": {
            "type": "string",
            "index": "not_analyzed",
            "store": "yes",
            "multi_field": "yes"
          },
          "x_bcc": {
            "type": "string",
            "index": "not_analyzed",
            "store": "yes",
            "multi_field": "yes"
          },
          "date": {
            "type": "date",
            "index": "not_analyzed",
            "store": "yes"
          },
          "subject": {
            "type": "string",
            "index": "analyzed",
            "store": "yes" …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

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

什么是RoundRobinPool和RoundRobinRouter之间的区别

这些是我见过的两种用法:

context.actorOf(Props(new IndexWorker(props)).withRouter(RoundRobinRouter(4)))

context.actorOf(RoundRobinPool(4).props(Props[FileExplorer]))
Run Code Online (Sandbox Code Playgroud)

这两种用法有什么区别?

scala akka

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

斯卡拉蛋糕模式

我试图将我对蛋糕模式的理解转换为简单的scala代码,并发现它没有编译.有人可以看看下面的代码,并告诉我这是什么方式我理解模式的问题?我读了这篇文章并尝试了类似的东西(http://www.cakesolutions.net/teamblogs/2011/12/19/cake-pattern-in-depth)

在下面的代码中 - println("This is " + userServiceComponent.whatCalc1) //> This is ()我期待它打印This is ScifiCalc Calc但是它的打印This is ()

码:-

trait Calc {
  def whatCalc
}

trait NormalCalc extends Calc {
  def whatCalc = new String("Normal Calc")
}

trait ScifiCalc extends Calc {
  def whatCalc = new String("ScifiCalc Calc")
}

trait TestTrait{
  def whatCalc1
}

trait TestCalc extends TestTrait {  
  this: Calc =>;

  def whatCalc1 = {
    whatCalc
  }
}

object SelfReferenceExample {
  println("Welcome to the …
Run Code Online (Sandbox Code Playgroud)

scala cake-pattern

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

如何正确使用AKKA中的pipeTo

嗨,我在actor的receive方法中有两个示例:

第一个不缓存发送方参与者进行管道传递

val futureV = //Some function call that returns a Future
futureV.pipeTo(sender)
Run Code Online (Sandbox Code Playgroud)

第二个将发件人置于val中

val currentS=sender
val futureV = //Some function call that returns a Future
futureV.pipeTo(currentS)
Run Code Online (Sandbox Code Playgroud)

我的问题是哪种编码方法正确,为什么?

scala actor akka

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