0

「grails cf-push」を実行すると、以下のエラーが発生します。cloudfoundry プラグインを使用して「最初からやり直す」方法はありますか。MySQL データベースと MongoDB データベースのテスト データを失いたくありません。

May 18, 2012 6:31:26 PM org.apache.catalina.core.StandardContext start

SEVERE: Error listenerStart May 18, 2012 6:31:26 PM org.apache.catalina.core.StandardContext start SEVERE: Context [] startup fails due to previous errors May 18, 2012 6:31:26 PM org.apache.catalina .loader.WebappClassLoader clearThreadLocalMap SEVERE: Web アプリケーション [] は、タイプ [org.codehaus.groovy.reflection.ClassInfo.ThreadLocalMapHandler] のキーを持つ ThreadLocal を作成しました (値 [org.codehaus.groovy.reflection.ClassInfo$ThreadLocalMapHandler@6434d75f])および [java.lang.ref.SoftReference] 型の値 (値 [java.lang.ref.SoftReference@4927d15e]) ですが、Web アプリケーションが停止したときにそれを削除できませんでした。これにより、メモリ リークが発生する可能性が非常に高くなります。2012-05-18 18:31:26,379 [メイン] エラー context.ContextLoader - コンテキストの初期化に失敗しました ServletContext リソース [/WEB-INF/applicationContext.xml] で定義された grailsApplication : init メソッドの呼び出しに失敗しました。ネストされた例外は java.lang.NoClassDefFoundError: org/apache/http/conn/ClientConnectionManager at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455) at org.springframework.beans.factory.support です。 AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java) :294) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry で。

StandardContext の開始 SEVERE: コンテキスト [] の起動は、以前のエラーにより失敗しました 2012 年 5 月 18 日 6:41:02 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap codehaus.groovy.reflection.ClassInfo.ThreadLocalMapHandler] (値 org.codehaus.groovy.reflection.ClassInfo$ThreadLocalMapHandler@6d1576d7]) およびタイプ [java.lang.ref.SoftReference] の値 (値 [java.lang.ref. SoftReference@1c2d5534]) ですが、Web アプリケーションの停止時に削除に失敗しました。これにより、メモリ リークが発生する可能性が非常に高くなります。ThreadLocalMapHandler] (値 org.codehaus.groovy.reflection.ClassInfo$ThreadLocalMapHandler@6d1576d7]) とタイプ [java.lang.ref.SoftReference] の値 (値 [java.lang.ref.SoftReference@1c2d5534]) が失敗しましたWeb アプリケーションが停止したときに削除します。これにより、メモリ リークが発生する可能性が非常に高くなります。ThreadLocalMapHandler] (値 org.codehaus.groovy.reflection.ClassInfo$ThreadLocalMapHandler@6d1576d7]) とタイプ [java.lang.ref.SoftReference] の値 (値 [java.lang.ref.SoftReference@1c2d5534]) が失敗しましたWeb アプリケーションが停止したときに削除します。これにより、メモリ リークが発生する可能性が非常に高くなります。

4

2 に答える 2

0

アプリを cf-update または削除して cf-push を再実行すると、既存の MySQL および Mongo サービスを使用するかどうかを尋ねられます。その場合、データが失われることはありません。cf-push を再実行する前に、アプリと共にサービスを削除しないでください。

「grails prod cf-push」を使用していることを確認してください。これは本番構成を使用するためです。「grails cf-push」を実行すると警告が表示されます。

根本的な原因は、HttpClient ライブラリの CNFE です。ローカルで動作するかどうかを確認してください。war ファイルをプッシュしているだけなので、Cloud Foundry で正常に動作するはずです。

于 2012-05-18T19:34:53.047 に答える
0

問題が見つかりました。サードパーティ パッケージの外部 jar を使用するサービスを追加しました。サードパーティのパッケージには、依存関係のあるものと依存性のないものの 2 つの jar が同梱されていました。サードパーティの zip をクラスパスに抽出しましたが、依存関係のないものだけを lib ディレクトリに含めました。依存関係のある jar の使用に切り替えると、アプリがデプロイされました。

次のことが原因で、この単純な問題の解決が困難になりました。

  1. エラー ログには、'grailsApplication' に問題があり、クラスが見つからないことが示されていました。
  2. アプリは run-app を使用してワークステーションで実行されました。
  3. run-war を使用してワークステーションでアプリが実行されない (正しい jar が提供されているかどうかに関係なく)。
  4. 睡眠不足!

次号へ!

于 2012-05-21T16:51:35.877 に答える