Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http play framework在请求处理程序之间交换数据_Http_Scala_Static_Playframework_Playframework 2.0 - Fatal编程技术网

Http play framework在请求处理程序之间交换数据

Http play framework在请求处理程序之间交换数据,http,scala,static,playframework,playframework-2.0,Http,Scala,Static,Playframework,Playframework 2.0,我对在Scala中使用Play框架开发后端感到好奇。到目前为止,我只试过这个教程。我想知道,是否可能有不同的响应“线程”交换数据 例如,每次处理HTTP请求时计数的计数器。它从0开始。然后第一个请求进入,它变为1。在第二次请求时,处理“线程”可以在某处访问该计数器 这应该在没有任何I/O(文件、数据库)的情况下实现。在Java中,它闻起来像一个静态变量,但在Scala中呢?谢谢。要使用Java静态方法,请查看下面的内容。 否则,您可以使用缓存(Java和Scala) 您可以使用Comapion对

我对在Scala中使用Play框架开发后端感到好奇。到目前为止,我只试过这个教程。我想知道,是否可能有不同的响应“线程”交换数据

例如,每次处理HTTP请求时计数的计数器。它从0开始。然后第一个请求进入,它变为1。在第二次请求时,处理“线程”可以在某处访问该计数器


这应该在没有任何I/O(文件、数据库)的情况下实现。在Java中,它闻起来像一个静态变量,但在Scala中呢?谢谢。

要使用Java静态方法,请查看下面的内容。 否则,您可以使用缓存(Java和Scala)

您可以使用Comapion对象,其中所有变量都是静态的

class StaticVariables {
}

object StaticVariables {
 var counter = 0
}
Scala工作表,用于演示:

object WorkSheet {
  StaticVariables.counter += 1
  StaticVariables.counter += 1
  println(StaticVariables.counter)                //> 2
}

有很多方法可以做到这一点:缓存(在内存中),或者更好的解决方案,使用actors。他们可以做任何你想做的事情(共享数据、增值…)谢谢Julien!您是否有一个示例说明参与者如何共享数据?(我想我们在谈论阿克卡)