小编Bob*_*har的帖子

苦苦挣扎Play.current.configuration.getStringList("mongodb.replicaSetSeeds")选项处理

我有一个conf/application.conf设置

mongodb.replicaSetSeeds = ["bobk-mbp.local:27017","bobk-mbp.local:27018"]
Run Code Online (Sandbox Code Playgroud)

我在我的代码中把它拉出来(实际提取有点不同,但这是它的要点)

val replicaSetSeeds = Play.current.configuration.getStringList("mongodb.replicaSetSeeds")
val listOfString: List[String] = replicaSetSeeds.getOrElse(List("localhost"))
Run Code Online (Sandbox Code Playgroud)

但是编译器讨厌我

type mismatch;  found   : Object  required: List[String]
Run Code Online (Sandbox Code Playgroud)

getStringList的签名是

def getStringList(path: String): Option[java.util.List[String]]
Run Code Online (Sandbox Code Playgroud)

我如何在这里处理无案例或是我的问题List [String]与List [java.util.String]不同?

scala playframework playframework-2.1 playframework-2.5

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

emacs启动'符号的功能定义是无效的:debian-startup'

我在emacs启动时遇到错误导致它无法加载我在命令行上提供的文件名.我在〜.emacs或〜/ .emacs.d/init.el中没有看到任何关于'debian-startup'的内容.这是什么消息?我怎么让它消失?如果它消失了,我可以直接从命令行打开文件,如[emacs project.clj]吗?我不知道它是否重要,但它的GNU Emacs 24.3.50.1在Ubuntu Saucy Server VM上运行.

emacs ubuntu debian

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

k8s 选择器表达式中的引号重要吗?

我们已经签入了 YML 文件,其中包含我们的 k8s“部署描述符”(这些东西有更好的名称吗?)

我正在查看一个服务描述符,例如......

apiVersion: v1
kind: Service
metadata:
  name: regalia-service
  namespace: sem
spec:
  selector:
    app: "proxy"
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080
Run Code Online (Sandbox Code Playgroud)

我查看了另一个执行基本相同操作的存储库,我注意到 spec.selector.app 值缺少引号。喜欢...

apiVersion: v1
kind: Service
metadata:
  name: scimitar-service
  namespace: sem
spec:
  selector:
    app: proxy
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080
Run Code Online (Sandbox Code Playgroud)

认为这两个服务描述符正在做同样的事情,但我怎么知道

k8s 描述符中的引号重要吗?

这是 YML 的事情还是 k8s 的事情?

kubernetes

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

如何在logger.xml中声明对象的记录器?

我需要在Play 2.1应用程序中对日志记录进行更精细的控制.为此,我在每个Controller中放置了一个独特的记录器,如下所示:

package controllers.admin
object Accounts extends Controller {
  val log = LoggerFactory.getLogger(getClass())

  def session = Action { implicit request =>
    log.trace("session {}", request)
    val body: AnyContent = request.body
    log.debug("body: {}", body);
    val jsonBody: Option[JsValue] = body.asJson
    Ok("Hello " + jsonBody)
  }
}
Run Code Online (Sandbox Code Playgroud)

这会产生的问题在conf/logger.xml文件中.当我使用对象的专有名称时; controllers.admin.Accounts $在这种情况下,播放运行时在我身上喷出stacktrace.

09:08:05,885 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@24:62 - RuntimeException in Action for tag [logger] java.lang.IllegalArgumentException: Failed to parse input [controllers.admin.Accounts$]
    at java.lang.IllegalArgumentException: Failed to parse input [controllers.admin.Accounts$]
    at  at ch.qos.logback.core.util.OptionHelper.substVars(OptionHelper.java:125)
...
Run Code Online (Sandbox Code Playgroud)

我的conf/logger.xml看起来像

<logger name="play" level="info" />
<logger …
Run Code Online (Sandbox Code Playgroud)

scala logback playframework

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

有没有办法"转动"ImmutableMap <String,ImmutableSet <String >>?

我有一个ImmutableMap <String,ImmutableSet <String >>.是否有一种简单的方法可以"转动"这个孩子,还是我必须自己编码?我想弄清楚最好的观察方式......

{
  type1=[FieldA, FieldB, FieldC],
  type2=[FieldB, FieldC, FieldD],
  type3=[FieldC, FieldD, FieldE]
}
Run Code Online (Sandbox Code Playgroud)

...如...

{
  FieldA=[type1],
  FieldB=[type1, type2], 
  FieldC=[type1, type2, type3], 
  FieldD=[type1, type2],
  FieldE=[type3]
}
Run Code Online (Sandbox Code Playgroud)

MultiMap是否解决了这个问题?

guava

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