問題タブ [postconstruct]
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.
java - JBossのデプロイ後にメソッドを呼び出す
WARがJBossにデプロイされた後でのみ、メソッドを実行したいと思います。
問題:現在、@ PostConstructを使用して、保存されたスケジュールをDBからロードしています。問題は、このメソッドからスケジューラーのインスタンスを作成していることです。これにより、Quartzスケジューラーが開始され、JBossがデプロイを完了できなくなります。ロードするスケジュールがない場合、WARは正常にデプロイされますが、スケジュールがある場合、JBossはスケジュールが実際に完了するのを「待機」しているため、デプロイが失敗します。
完全にデプロイされるまでメソッド呼び出しを遅らせる方法はありますか?または、サーバー上で(サーバーコードから)非同期呼び出しを行うことは可能ですか?
jsf - 管理プロパティを使用した JSF インジェクション、良いパターン?
私はJSFにまったく慣れておらず、さまざまな考え方に実際に「慣れていない」ので、何が基本であるかに苦労しています。
セッション Bean である User クラスがあるとします。
Factoryなどの10000個のオブジェクトのコントローラーがあり、それらの一部を「ロック済み」として設定できる必要があるとしましょう。この場合、「ロック済み」フィールドはもうnullにならず、「LockedItem」を参照します。物体。
これは、私が物事を機能させることができない場所です: LockedItem をインスタンス化すると、現在ログインしているユーザーを参照することになっています。
@managedproperty でインジェクションを試みましたが、LockedItem.constructor では null であり (これは正常だと思います)、@PostConstruct メソッドで試しましたが、そのメソッドは呼び出されません (なぜですか?マネージド Bean にしても...オブジェクトが「.xhtml」によって作成されたときにのみ、ポストコンストラクトメソッドが呼び出されますか?)または、ユーザーを静的にするなど、「java se」トリックを使用する必要がありますか?
@PostConstruct が呼び出されない理由を明確にするコード (「Seat」の 1 つ) :
.xhtml
ユーザー
車
シート
ありがとう !
java - Eclipse RCP e4アプリケーションのpostconstructメソッドで実行時例外を表示するには?
私は Eclipse E4 RCP アプリケーションに取り組んでおり、依存性注入を使用しています。
ポストコンストラクトに実行時例外がある場合、コンソールにその例外が表示されないことに気付きました (飲み込まれていますか?)。そのクラスを注入できないという例外が表示されます。
たとえば、次のコードです。
次の出力が得られます。
ランタイム例外も表示されるようにする方法を知っている人はいますか?
jsf - postconstruct メソッドを使用した ApplicationScoped Bean
データベースに情報を保持するためのアプリケーション スコープ Bean があります。インスタンス化後、データを取得する必要があるため、@PostConstruct でメソッドにアノテーションを付けました。この Bean が参照されている jsf ページをリクエストするとすぐに、サーバー ログが急増します。どういうわけか再帰すると思いますが、取得する唯一のスタックトレースは、repBean.acceptVisitor(Visitor); の実行中にシステム例外が発生したことです。方法。その後、サーバー ログは数 GB 大きくなり、空きディスク領域を確保するために手動で削除する必要があります。@PostConstruct アノテーションを削除すると、例外はありません。update() メソッドを別の Bean から呼び出すと、repositoryContent 変数が適切に更新され、情報が含まれます。唯一の問題は、私のjsfページが奇妙な理由でコンテンツを表示しないことです。
jsf-2 - @ManagedProperyと@PostConstructを基本クラスに配置できますか?
私はクラスの階層を使用していますが、最適な方法は、メンバーとメソッド@ManagedBean
を持つクラスを継承するクラスを作成することです。@ManagedProperty
@PostConstruct
具体的には、これは機能しますか?:
前もって感謝します!
jboss - @Startup @Singleton @PostConstructがRunTimeExceptionを与えます(新しく作成されたBeanインスタンスでPostConstructを呼び出すことができませんでした)
起動時に起動されるBeanを構築して、データの移行を実行しようとしています。@Singleton @Startup Beanとして注釈が付けられていますが、@ PostConstructは失敗していますが、理由はわかりません。
これはコードです:
SearchInitializerも@Startup@SingletonBeanであり、メソッドに@PostConstructアノテーションが付いており、正常に実行されます(また、このBeanの前では、@ DependsOnは正しく機能しています)。SearchRepositoryは@StatelessBeanであり、データベースに送信されます。
ただし、このコードを実行すると、次の例外が発生します。
誰か私が間違っていることを知っている人はいますか?
編集
追加情報:「@InjectプライベートSearchRepositoryリポジトリ」が原因であると思われます。そのリポジトリのインジェクションを削除すると、正常に起動します。そうしないと、次のエラーが発生します。
ブートプロセスを介してデバッグすると、リポジトリが実際にプロキシされていることがわかります(これは、スタックトレースのAOPへの参照によってもサポートされています)。
しかし、それを理解するのはまだ運がありません!誰?
jsf - JSF2は、ページのロード時にバッキングBeanに属性を渡します
共有バッキング Bean を持つ 2 つの異なる JSF2 ページがあります。どのページが現在使用されているかを知るために、ページからバッキング Bean (ページの読み込み時 - @PostConstruct を使用したメソッド) にパラメーターを渡すにはどうすればよいですか。
<f:event>
like preRenderView
(like this )を使用できることはわかっていますが、バッキング Bean にメソッドとフィールドが必要です。f:attribute や f:param のようなもので、バッキング Bean に追加のメソッドを追加せずにこれは可能ですか?
java - テスト中にSpringで@PostConstructを無効にする方法
Spring コンポーネント内に@PostConstruct
ステートメントがあります。以下のように:
単体テスト中に@PostConstruct
関数を呼び出したくないのですが、Spring に後処理を行わないように指示する方法はありますか? または、非テスト中にクラスで開始メソッドを呼び出すためのより良い注釈はありますか?
jsf-2 - ポストバックで @PostConstruct が呼び出されないようにする方法
ページが初めて読み込ま@PostConstruct
れると が呼び出されますが、このページでポストバックを実行する@PostConstruct
と が再度呼び出されます。
すべてのポストバックではなく、最初のリクエストでのみ実行するにはどうすればよいですか?
multithreading - CDI ポストコンストラクトの初期化フィールド
PostConstruct で注釈が付けられたメソッド内のインスタンス フィールドの初期化がスレッド セーフと見なされるかどうかを知っている人はいますか? ApplicationScoped Bean のフィールドを揮発性にする必要があるかどうか、他のスレッドが実際に値を確認できるようにする必要があるかどうかはよくわかりません...
ヒントや答えをありがとう!