小编Mic*_*nai的帖子

在Leaflet.js中叠加在瓷砖下面

我有一个Leaflet.js地图,带有基础图块图层,标签图块图层和一些叠加图.我需要将标签图块层放在覆盖层上面.我尝试将它带到前面使用bringToFront()- 无济于事.这是代码:

map.addLayer( new L.StamenTileLayer("toner-lines") );
...// more code, loading the overlays, etc
var labels = L.tileLayer('http://{s}.www.toolserver.org/tiles/osm-labels-en/{z}/{x}/{y}.png', {
    maxZoom: 17,
    zIndex: 1000
});
labels.addTo(map);
labels.bringToFront();
Run Code Online (Sandbox Code Playgroud)

javascript maps leaflet

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

在 Glassfish4 Java EE 应用程序中使用 ServiceLoader 时出现 ClassNotFoundException

在 Java EE 应用程序中,我尝试使用 Java 的ServiceLoader加载服务。我尝试加载的 .jar 文件在测试 Java SE 应用程序中有效,因此我认为它是正确的。但是,以下代码在以下位置失败itr.next

ServiceLoader<WorkflowStepSPI> loader = ServiceLoader.load(WorkflowStepSPI.class, Thread.currentThread().getContextClassLoader());
        loader.reload();
        List<String> names = new LinkedList<>();
        Iterator<WorkflowStepSPI> itr = loader.iterator();
        while ( itr.hasNext() ) {
            WorkflowStepSPI wss = itr.next();
            logger.log(Level.INFO, "Found WorkflowStepProvider: {0}", wss.getClass().getCanonicalName());
            names.add(wss.toString());
        }
Run Code Online (Sandbox Code Playgroud)

ClassNotFoundException 中抛出的异常,抱怨无法找到WorkflowStepSPI,这显然是存在的(否则代码将无法编译)。在另一个测试中,我验证了Class.forName返回此类。

我尝试按照此处的建议创建自己的 URLClassLoader 实例,并按照此处的建议直接加载类,但无济于事。

有任何想法吗?

*** 更新 ***

根据要求,这是堆栈跟踪:

Warning:   Class not found: edu/harvard/iq/dataverse/workflow/WorkflowStepSPI
java.lang.NoClassDefFoundError: edu/harvard/iq/dataverse/workflow/WorkflowStepSPI
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at …
Run Code Online (Sandbox Code Playgroud)

java glassfish serviceloader jakarta-ee

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

ReactiveMongo/Play:`LastError:DatabaseException ['<none>']`,而db仍然更新

奇怪的问题:当我的播放应用程序尝试在使用reactivemongo时插入/更新来自某些mongoDB集合的记录时,操作似乎失败了一个神秘的消息,但实际上,记录插入/更新了.

更多信息:

  1. 从mongo控制台插入有问题的集合效果很好
  2. 阅读所有收藏品效果很好
  3. 读取和写入同一数据库中的其他集合效果很好
  4. 写给过去工作的有问题的集合.

错误信息是:

play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception[[LastError: DatabaseException['<none>']]]
  at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:280)
  at play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:206)
  at play.core.server.netty.PlayRequestHandler$$anonfun$2$$anonfun$apply$1.applyOrElse(PlayRequestHandler.scala:100)
  at play.core.server.netty.PlayRequestHandler$$anonfun$2$$anonfun$apply$1.applyOrElse(PlayRequestHandler.scala:99)
  at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:344)
  at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:343)
  at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
  at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:70)
  at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40)
  at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248)
Caused by: reactivemongo.api.commands.LastError: DatabaseException['<none>']
Run Code Online (Sandbox Code Playgroud)

使用ReactiveMongo 0.11.14,Play 2.5.4,Scala 2.11.7,MongoDB 3.4.0.

谢谢!

更新 - 神秘感增厚!

根据@ Yaroslav_Derman的回答,我添加了一个.recover条款,如下:

collectionRef.flatMap( c =>
  c.update( BSONDocument("_id" -> publicationWithId.id.get), publicationWithId.asInstanceOf[PublicationItem], upsert=true))
  .map(wr => {
    Logger.warn("Write Result: " + wr )
    Logger.warn("wr.inError: " + wr.inError)
    Logger.warn("*************")
    publicationWithId
  }).recover({
  case de:DatabaseException => {
    Logger.warn("DatabaseException: " + …
Run Code Online (Sandbox Code Playgroud)

scala mongodb reactivemongo

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