問題タブ [spring-profiles]

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 投票する
1 に答える
1408 参照

java - 排他的な Spring プロファイル Bean と DependsOn アノテーション

私のために働くコード:
データベースの構成の一部は次のようになります:

構成は 2 つの排他的 Bean を表します。1 つは「dbClean」プロファイルが存在する場合に作成され、もう 1 つは存在しない場合に作成されます。我慢して、コードの重複を忘れてください。

別の構成が Quartz 構成を管理します。

上記は魅力のように機能します。問題は、Quartz 構成が Flyway autowired Bean を使用していないことです。この Bean が Quartz スケジューラーよりも前に作成されていることだけが必要です。

したがって、理想的な構成は次のようになります。

データベース部分:

クォーツ部分:

問題は、最後の構成が機能しないことです。どちらのフライウェイ Bean も作成されません。そして、私には理由がわかりません。xml 構成を使用していたときよりも前に、異なるプロファイルで同じ名前の 2 つの Bean を持つことが可能だったことを覚えています。そしてそれはうまくいきました。ここで何か間違ったことをしていますか、それとも Spring 自体のバグでしょうか? 通常、私は自分で Spring をデバッグしますが、Spring の @Configuration ロジックを含む部分は、現時点では時間を無駄にできない未解決のフィールドです。

0 投票する
4 に答える
2014 参照

java - 春に特定のプロファイルを持つ実装者を自動配線する方法は?

コードでデモンストレーションしましょう:

どうすれば動的に (到着するすべてのリクエストで) スプリングを作成して、プロファイルに従って上記のクラスの 1 つを自動配線できますか? 配線時にそのようなことをすることさえ可能ですか?

背景: サーバー側のバージョン管理メカニズムを実装するための良い方法を探しています。リクエストがバージョン 'V1' に属している場合、'V1' プロファイルを持つクラスを自動配線したい、またはその逆を行いたい。(現在、私はリストを自動配線し、それらを繰り返して適切なバージョンを見つけています)。

0 投票する
1 に答える
1377 参照

spring - Spring プロファイル: リポジトリ Bean を自動配線できません

作成した Spring プロファイルで JUnit テストを実行しようとすると問題が発生します。実際には、オートワイヤーできないリポジトリ Bean を除いて、プロファイルは正常に機能します。

これは、spring-integration-context.xml で永続性を構成するために使用するコードのフラグメントです。

したがって、永続化構成全体を「Beans profile」要素でラップするだけで十分だと思いました。

さて、私のJUnitテストクラスから:

そして、 ApplicationTest クラスに次の注釈を付けています。

@ImportResource("classpath:/META-INF/spring/integration/spring-integration-context.xml")

しかし、テストを実行すると、次の例外が発生します。

私のテストクラスでは、ScheduleLoader は以前に自動配線されていることに注意してください。実際、その Bean は開発プロファイル内にもあります。@ActiveProfiles("dev")アノテーションなしでテストを実行しようとすると 、予想どおり、 ScheduleLoader failed autowiringによって例外がスローされます(dev プロファイルにのみあるため)。

では、Spring プロファイルと永続化構成の問題は何ですか?

PD: リポジトリとエンティティ クラスがその中にあることを確認しました

guiatv.persistence.*

パッケージ。

ちなみに、私はSpring Bootを使っているので、@ActiveProfiles("dev") アノテーションを書く代わりに、application.propertiesファイルに spring.profiles.active=devを追加して動作させることも試みました。

アップデート

また、すべての「Beans プロファイル」要素を削除して、すべてのコンポーネントがルート「Beans」要素の子になるようにすると、@ActiveProfiles("dev") アノテーションなしまたは @ActiveProfiles( 「デフォルト」) 注釈。

0 投票する
1 に答える
491 参照

java - プロファイルに従ってSpring xml構成をロードします

次のようにxmlファイルからアプリケーションコンテキストをロードできることを知っています:

しかし、私の場合は無関係です。

内部ではapplicationContext.xmlプロファイルを使用します。

プロファイルに従ってコンテキストをロードするにはどうすればよいですか?

0 投票する
1 に答える
2987 参照

spring - Spring プロファイルを使用した web.xml フィルターの有効化/無効化

2 つの異なる永続化 API を使用できる Spring アプリケーションがあります。

  • 春のデータ JPA
  • 春のデータNeo4j

Spring Data JPA を使用する場合、「web.xml」で「OpenEntityManagerInViewFilter」を宣言して遅延読み込みを行う必要があります。

問題は、Spring Data Neo4j を使用しているときにこのフィルターを有効にしたままにできないことです。有効のままにすると、次のランタイム エラーが発生します。

Spring プロファイルで使用するデータベースを選択したい (例:spring.profiles.active=relational-databaseまたはspring.profiles.active=graph-database)。

質問: プロファイルが "relational-database" の場合に "OpenEntityManagerInViewFilter" を有効にし、プロファイルが "graph-database" の場合に無効にするにはどうすればよいですか?

ありがとう!

関連する質問:

0 投票する
6 に答える
16211 参照

spring-boot - Spring Boot プログラムによるプロファイルの設定

スプリング ブート アプリケーションでアクティブなプロファイルを設定する方法。このアプリケーションは、スタンドアロンの Tomcat にデプロイされます。

2 つのプロパティ ファイル application-{profile}.properties があります。

私のアプリケーションクラス

Tomcat を埋め込んでアプリを実行すると、dev プロファイルがアクティブに設定され、正常に動作します。しかし、スタンドアロンのTomcatにデプロイすると. それは動作しません。

configureメソッドでアクティブなプロファイルを設定しようとしました。しかし、コンテキストから環境を取得すると、null ポインター例外が発生します。

アクティブなプロファイルの設定方法に関するヘルプ。