我们最近升级到了Play 2.7.0,并使用play2-reactivemongo版本0.16.2和reactmongo 0.16.3。我们使用reactivemongo-shaded-native
但也尝试不使用。
我们正在连接到具有3个节点的副本集,即MongoDB Atlas上的MongoDB 3.6.10。
初始连接良好,服务运行了一段时间。
但是最后我们遇到了这个错误:
[error] 2019-02-15 09:40:30,466 r.api.Failover2 - [Supervisor-1/Connection-2] Got an error, no more attempts to do. Completing with a failure...
reactivemongo.core.actors.Exceptions$PrimaryUnavailableException: MongoError['No primary node is available! (Supervisor-1/Connection-2)']
Caused by: reactivemongo.core.actors.Exceptions$InternalState: null
at reactivemongo.ConnectAll$IsMaster(400, {{NodeSet Some(PlayappDevelopment-shard-0) Node[playappdevelopment-shard-00-00-tedsb.mongodb.net:27017: Unknown (20/20 available connections), latency=9223372036854775807, authenticated={Authenticated(admin,playapp_rw)}] | Node[playappdevelopment-shard-00-01-tedsb.mongodb.net:27017: Secondary (20/20 available connections), latency=135, authenticated={Authenticated(admin,playapp_rw)}] | Node[playappdevelopment-shard-00-02-tedsb.mongodb.net:27017: Secondary (20/20 available connections), latency=140, authenticated={Authenticated(admin,playapp_rw)}] }})(<time:1550223615628>)
at reactivemongo.IsMaster(400, {{NodeSet Some(PlayappDevelopment-shard-0) Node[playappdevelopment-shard-00-00-tedsb.mongodb.net:27017: Unknown (20/20 available connections), latency=9223372036854775807, authenticated={Authenticated(admin,playapp_rw)}] | Node[playappdevelopment-shard-00-01-tedsb.mongodb.net:27017: …
Run Code Online (Sandbox Code Playgroud) 我刚刚开始使用Java Play Framework,并向前迈出了一些步骤,但是现在我打算添加JavaEbean OEM,并仔细阅读了文档,但仍然收到错误NoClassDefFoundError:play / Configuration
application.conf
# This is the main configuration file for the application.
# https://www.playframework.com/documentation/latest/ConfigFile
ebean.default = ["models.*"]
Run Code Online (Sandbox Code Playgroud)
plugins.sbt
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.7.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "4.1.0")
Run Code Online (Sandbox Code Playgroud)
我的模特:
import io.ebean.Model;
public class Book extends Model {..}
Run Code Online (Sandbox Code Playgroud)
build.sbt
name := """BookStoreApp"""
organization := "com.example"
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean)
scalaVersion := "2.12.8"
libraryDependencies += guice
Run Code Online (Sandbox Code Playgroud)
我从sbt开始,进行了更新,一切都很好,但是如果我编译了,我会收到以下错误:
[error] java.lang.NoClassDefFoundError: play/Configuration
[error] at play.db.ebean.ModelsConfigLoader.apply(ModelsConfigLoader.java:27)
[error] at play.db.ebean.ModelsConfigLoader.apply(ModelsConfigLoader.java:21)
[error] at play.ebean.sbt.PlayEbean$.$anonfun$configuredEbeanModels$4(PlayEbean.scala:153) …
Run Code Online (Sandbox Code Playgroud)