小编CPS*_*CPS的帖子

厨师:我如何检查是否安装了服务?

在一个配方中,我想检查是否安装了服务,以及是否通知了安装它所需的3个资源.我尝试了服务资源,它在安装时正确识别服务,但如果未安装服务则抛出异常.

我不确定在这里使用什么动作.:没有什么只是跳过资源以便它被执行,但是当他们试图对不存在的服务进行操作时,任何其他操作都会出错.

如何检测服务是否已安装并根据该信息执行操作?

我在Windows上运行,如果那是相关的.

windows chef-infra chef-recipe

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

如何同步对akka Actor进行单元测试?

我有一个演员在收到一定数量的消息后会写一个文件.

编译时,Maven运行我们定义的所有单元测试.问题是,在Actor写入文件(它正确执行)之前,检查文件是否已成功写入磁盘的单元测试.

我找到了一些测试Actors的文档,但它们都已经过了好几年了.在检查文件是否存在之前,我该如何等待?

unit-testing scala actor akka

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

超值!不是Actor的成员

我有一个Actor类来管理Actors列表.当它收到某种类型的消息时,会将其传递给它所知道的每个Actors.

 var loggers : List[Logger]    

def receive = {
  ...
  // log request
  case logmessage : LogMessage => {
      // send message to each logger (if none, nothing happens)
      for (logger <- loggers)
        logger ! logmessage
  }
  ...     
}
Run Code Online (Sandbox Code Playgroud)

我收到了编译错误logger ! logmessage:"value!不是(包).Logger的成员".的!这让谷歌很难.Logger类编译,有自己的接收方法,一行包括self ! PoisonPill,意思是!运营商在那里工作 他们在同一个包里.

scala actor akka

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

ListBox项目可以跨多行吗?C#

我想让ListBox控件包含跨越多行的项目.

基本上我想要的是每个项目跨越多行并可作为一个项目选择.有没有办法做到这一点?

.net c# winforms

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

Intellij不会捕获使用函数作为防护的非详尽匹配

我在我们的代码库中找到了以下代码块:

val appId: (String, Option[String]) = request.app match {
  case Some(app) if hasAppId(app) => (Constants.AppId, app.id)
  case None => (Constants.AppId, None)
}
Run Code Online (Sandbox Code Playgroud)

hasAppId返回一个布尔值。显然,这种匹配并不详尽,但是没有编译器警告。如果我把警卫换成

case Some(app) if false =>
Run Code Online (Sandbox Code Playgroud)

我得到了预期的警告。为什么Intellij无法检测到这种非详尽的匹配?

编辑:这是hasAppId的定义。注意显式的布尔返回:

def hasAppId(app: App): Boolean = app.id.isDefined && !app.id.get.isEmpty
Run Code Online (Sandbox Code Playgroud)

scala intellij-idea

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