0

https://github.com/jamesward/play2-scheduled-job-demoで説明されているように、Heroku で実行したい Play 2.0.4 のスタンドアロン ジョブが あります。サンプルと同じようにアプリケーションを起動します。

public class QueueWorker {
    public static void main(String[] args) {
        Application application = new Application(new File(args[0]), QueueWorker.class.getClassLoader(), null, Mode.Dev());
        Play.start(application);
    }
}

しかし、ログから判断すると、Play は何らかの理由でデータベースに2 回接続し、名前が既に登録されているため、EhCache は 2 回目に失敗します。

[[37minfo[0m] play - database [default] connected at jdbc:mysql://localhost/myproject?characterEncoding=UTF-8
[[37minfo[0m] play - database [default] connected at jdbc:mysql://localhost/myproject?characterEncoding=UTF-8
Exception in thread "main" net.sf.ehcache.ObjectExistsException: Cache play already exists
    at net.sf.ehcache.CacheManager.addCache(CacheManager.java:990)
    at play.api.cache.EhCachePlugin.x$3(Cache.scala:111)
    at play.api.cache.EhCachePlugin.cache(Cache.scala:109)
    at play.api.cache.EhCachePlugin.onStart(Cache.scala:127)
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60)
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60)
    at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
    at scala.collection.immutable.List.foreach(List.scala:45)
    at play.api.Play$.start(Play.scala:60)
    at play.api.Play.start(Play.scala)
    at jobs.QueueWorker.main(QueueWorker.java:32)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

興味深いことに、「play run」コマンドでプロジェクトを開始すると、これは発生しません。これが何であるか、またはそれがどこから来ているのかをデバッグする方法を教えてくれる人はいますか?

4

1 に答える 1

0

結局のところ、問題は play-authenticate モジュールにあります。play.plugins からすべてのエントリを削除して依存関係にそのまま置いたとしても、この種のエラーが発生します。https://github.com/joscha/play-authenticate/issues/23でエラー レポートを作成しました。すぐに修正されることを願っています。

于 2012-10-15T13:11:06.147 に答える