問題タブ [pcfdev]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
169 参照

java - PCF では NoClassDefFoundError ですが、CloudOps VM およびローカルでは機能します

Consumer Driven Contract 実装の一環として、プロジェクトで PACT 依存関係を使用して JSON を PACT ファイルに変換しています。

これらの PACT 依存関係はダウンロードされ、maven clean install コマンドを使用して jar にバンドルされます。そして、CloudOps VM とローカル サーバーで jar を実行すると、正常に動作し、API に対して成功の応答が返されます。同じ jar が PCF に正常にデプロイされ、API を実行しようとすると、PACT 依存関係クラスの 1 つ - au.com.dius.pact.model.RequestResponsePact に対してNoClassDefFoundErrorが返されます。

以下は、PCF ログからの完全なエラーです -

2020、レベル: ERROR、スレッド: http-nio-8080-exec-8、loggerName: com.test.sample.common.aop.logging.LoggingAspect、

メッセージ: com.test.sample.cdcc.v1.process.CdccUploadProcessV1.cdcUploadedFiles() で例外が原因 = 'NULL' および例外 = 'クラス au.com.dius.pact.model.RequestResponsePact を初期化できませんでした',

エラー: java.lang.NoClassDefFoundError : クラス au.com.dius.pact.model.RequestResponsePact を初期化できませんでした2020-05-04T15 :28:28.332+05:30 [APP/PROC/WEB/0] [OUT]

au.com.dius.pact.consumer.dsl.PactDslResponse.toPact(PactDslResponse.java:265) 2020-05-04T15:28:28.332+05:30 [APP/PROC/WEB/0] [送信]

com.test.sample.cdcc.util.JsonToPactUtil.convertJSONtoPACT (JsonToPactUtil.java:47) で

以下は、私たちが試したいくつかの変更です -

  1. これらの依存関係を下位バージョンに切り替える

  2. Mavenアセンブリプラグインを追加して、すべての依存関係を持つファットジャーを作成しようとしました

  3. 依存関係のスコープを提供およびコンパイルに変更する

  4. Maven jar プラグインにクラスパスを追加する

しかし、これらすべてがこの問題の解決に役立ったわけではありません。この問題を解決するための正しい方向を教えていただけますか?

以下は、jarを作成しようとしたいくつかの方法です

オプション1:

オプション 2:

0 投票する
2 に答える
590 参照

rabbitmq - キュー内の PCF RabbitMQ 未確認メッセージ

PCF を使用して spring-boot アプリケーションを実行しています。また、PCF RabbitMQ サービスを使用しました。

私の問題は、キュー内のメッセージが確認応答なしで長時間固定されていたことがあり、PCF で実行中のアプリ インスタンスの数が RabbitMQ のアクティブなコンシューマー チャネルの数よりも少ないことに気付きました。

RabbitMQ

PCF

また、適用されたルールに応じてアプリ インスタンスを自動的にスケールアップ/スケールダウンするオートスケーラーも有効にしています。

クライアント アプリにエラー ログがなく、唯一の解決策は PCF でアプリケーションを再起動することだったので、問題を再現できませんでした。また、アプリケーションを強制終了しようとしましたが、コンシューマ チャネルも破壊されているようです。

私が調べることができる助けや提案はありますか?コンシューマーアプリにSpring Cloud Streamを使用し、ymlファイルで非常に基本的な構成を使用しました(dlqなし、カスタムタイムアウトなしなど)

前もって感謝します!