小编Dar*_*ert的帖子

是否保证在另一个线程中看到一个线程中的非易失性成员变量的赋值?

考虑下面的Java示例.请注意,两个类成员变量都没有声明为volatile.如果我正在理解内存模型并且"之前发生"规则正确,那么Java实现可以优化该run()方法,以便它永远运行,即使另一个线程调用该stopNow()方法.这可能发生,因为run()方法中没有任何内容强制线程stop多次读取值.那是对的吗?如果没有,为什么不呢?

class Example implements Runnable {
    boolean stop = false;
    int value = 0;

    public void stopNow() {
       stop = true;
    }

    public int getValue() {
        return value;
    }

    @Override
    public void run() {
        // Loop until stop is set to true.
        while (!stop) {
            ++value;
        }
        return;
    }
}
Run Code Online (Sandbox Code Playgroud)

java multithreading java-memory-model

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

Spout 或 Bolt 能否访问在拓扑中已知的 ID?

是否有可供 Storm Spout 或 Bolt 访问其 ID 的 API?我所指的 IDString是传递给class 中的setSpoutorsetBolt方法的 ID backtype.storm.topology.TopologyBuilder

出于日志记录的目的访问此字符串会很有用。

apache-storm

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

喷涂客户端 - 将具有意外内容类型的响应视为application/json?

当我尝试获取像这样的亚马逊身份数据

val pipeline: HttpRequest => Future[IdentityData] = sendReceive ~> unmarshal[IdentityData]
pipeline(Get("http://169.254.169.254/latest/dynamic/instance-identity/document"))
Run Code Online (Sandbox Code Playgroud)

使用适当的case类和formatter,我收到以下异常

UnsupportedContentType(预期'application/json')

因为亚马逊将其回复标记为文本/纯文本内容类型.他们也不关心Accept header param.是否有一种简单的方法可以告诉spray-json在解组时忽略它?

scala spray playframework-2.0 spray-json spray-client

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

是否有为ScalaTest匹配器添加线索的语法?

是否有一个习惯用于为ScalaTest匹配器添加线索,以便线索将成为断言失败的一部分?我知道我现在可以像这样写一个ScalaTest断言:

withClue("expecting a header row and 3 rows of data") {
  rowCount should equal(4)
}
Run Code Online (Sandbox Code Playgroud)

这是为断言添加线索的唯一语法吗?能够写一个断言看起来像这样的东西会很好:

rowCount should equal(4) because("expecting a header row and 3 rows of data")
Run Code Online (Sandbox Code Playgroud)

scala scalatest

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

如何在Spray中解组一个案例类列表

第一次喷涂用户无法在任何地方找到任何适当的示例.我想要解组包含一个的XML API响应List[Person].

case class Person(name: String, age: Int).unmarshaller应该产生适当的List[Person].

Spray有一个默认值,NodeSeqUnmarshaller但我无法弄清楚如何正确地连接东西,会感激任何指针.

xml scala spray spray-client

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