小编cen*_*ntr的帖子

玩Scala 2.3.x - 将SecureSocial或Sihouette集成到Deadbolt

我正在尝试使用Deadbolt进行授权,使用Silhouette或SecureSocial进行身份验证,使用Play 2.3.3和Scala 2.11.1.

MyDeadboltHandler有一个要覆盖的getSubject,为此我需要从请求中检索用户.使用非常直接的SecureSocial 2.

override def getSubject[A](request: Request[A]): Option[Subject] = {
  SecureSocial.currentUser(request) match {
  case Some(identity) => // Subject could be created and returned
  case _ => None
}
Run Code Online (Sandbox Code Playgroud)

我无法在Silhouette中找到任何方法来获取"当前用户".Silhouette和SecureSocial都有一个SecuredRequest [AnyContent](扩展的WrappedRequest),而MyDeadboltHandler中的getRequest方法需要一个Request [A].SecuredRequest在MyDeadboltHandler中不可见的特征中定义.

任何建议都非常感谢.

playframework playframework-2.0 securesocial deadbolt-2

5
推荐指数
0
解决办法
858
查看次数

播放 - HikariCP连接未释放回池中

在一个有两个子项目的Play项目中,我们正在尝试使用HikariCP,它似乎没有将连接释放回池并抛出此异常:

java.sql.SQLException: Timeout of 30000ms encountered waiting for connection.
Run Code Online (Sandbox Code Playgroud)

以下是六个简单查询后调试显示的内容:

[DEBUG] c.z.h.p.HikariPool - Before cleanup pool stats pool1 (total=5, inUse=5, avail=0, waiting=1)
[DEBUG] c.z.h.p.HikariPool - After cleanup pool stats pool1 (total=5, inUse=5, avail=0, waiting=1)
[DEBUG] c.z.h.p.HikariPool - Timeout failure pool stats pool1 (total=5, inUse=5, avail=0, waiting=0)
[ERROR] application - Error in datastore operation detected.
java.sql.SQLException: Timeout of 30000ms encountered waiting for connection.
    at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:207) ~[HikariCP-java6-2.0.1.jar:na]
    at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:93) ~[HikariCP-java6-2.0.1.jar:na]
    at scala.slick.jdbc.JdbcBackend$DatabaseFactoryDef$$anon$3.createConnection(JdbcBackend.scala:47) ~[slick_2.11-2.1.0.jar:0.8.0]
    at scala.slick.jdbc.JdbcBackend$BaseSession.conn$lzycompute(JdbcBackend.scala:397) ~[slick_2.11-2.1.0.jar:0.8.0]
    at scala.slick.jdbc.JdbcBackend$BaseSession.conn(JdbcBackend.scala:397) ~[slick_2.11-2.1.0.jar:0.8.0]
[DEBUG] c.z.h.p.HikariPool - …
Run Code Online (Sandbox Code Playgroud)

playframework playframework-2.0 slick hikaricp

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

Scala long Strings错误

我正在研究Scala 2.10.2.运行以下简单代码时:

object Test {
  var input  = "**** ANY STRING LONGER THAN 65535 CHARACTERS ****"
  def main(args: Array[String]) {
      println(input)
  }
}
Run Code Online (Sandbox Code Playgroud)

抛出以下错误:

java.lang.ClassFormatError: Unknown constant tag 67 in class file Test$
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at Test.main(05.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
.....
Run Code Online (Sandbox Code Playgroud)

这是一个错误还是一个奇怪的限制?

谢谢,

scala scala-2.10

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