問題タブ [weld]
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.
jboss7.x - 展開中に「熱心な」CDI Bean がハングするのはなぜですか?
最近、JSF2 の使用から CDI/weld の使用に切り替えました。2 つの熱心な @ManagedBeans(eager=true) があり、そのうちの 1 つはデータベース クエリ (JPA 2) を使用して入力されたリストを持っています。それはうまくいきました。
私は CDI に切り替え、ここで説明されている手法を使用してこれらの Bean をリファクタリングしましたhttp://ovaraksin.blogspot.com/2013/02/eager-cdi-beans.html。@PostConstruct init() 中にリストが手動で入力される Bean ではうまく機能しますが、データベースクエリを使用するサービスを注入するためにリストが入力される Bean でハングします。
サーバーを強制終了しなければならないほどひどくハングアップしています。
それはなぜですか、その Bean を非熱心にする以外にそれを回避する方法はありますか? 必要に応じて、Bean を「熱心でない」ものにすることもできます。何を誤解しているのか、ちょっと気になります。
これがぶら下がっているBeanで、バックエンドです
OsList.java:
OsListService.java:
ログファイル
java - Bean抽象親クラスではない子Beanクラスを注入できない理由
1 つのパラメーター化されたコンストラクターを持つパラメーター化された抽象クラスがあります。
およびそれを拡張する子クラス:
そしてWELDは、「BasicEntidadController」がプロキシ可能ではないというエラーを報告します....
なぜ WELD は、この抽象/no-bean クラスのプロキシを作成しようとしているのですか?
EL式でツリーの最後の子だけを注入/使用したい場合、継承ツリーですべてのクラスを実行する必要がありますか?
前もって感謝します。
plugins - JBoss AS 7.1 で動的にロードされた jar からの Discovery Bean
私の質問 - WeldでDeploymentインターフェースのインスタンスを取得する方法を知っている人はいますか? 理想的には、beforeBeanDiscoveryイベント内ですか?
war アプリによって jar が読み込まれるプラグイン システムをアプリケーションに実装しようとしています。そのためにJBoss AS 7.1を使用しています。
展開プロセスに JAR を含めようとしましたが、jar が WEB-INF/lib フォルダーにない限り、それは不可能のようです。
したがって、私の次の動きは、CDI (Weld) を作成して、外部 JAR 内の Bean を検出しようとすることです。
CDI には、検出される新しい jar を含めるための直接的なサポートはないようですが、Weld には Deployment インターフェースと loadDeploymentArchive というメソッドがあります ( http://docs.jboss.org/weld/javadoc/2.0/weld-spi/org/jboss /weld/bootstrap/spi/Deployment.html#loadBeanDeploymentArchive(java.lang.Class) )
cdi - Weld 1.1 + Solder が満たされていない依存関係を引き起こしていますか?
「WELD-001408 満たされていない依存関係」の奇妙な発生が発生していました。
すべてのルールとドキュメントにより、依存関係を解決する必要があります。それは通常の@Produces
方法であり@Inject
、他のBeanでした。
Weld 1.1.13 から 2.0.1 にアップグレードしようとしたところ、SOLDER-339で説明されている「WELD-001332 BeanManager メソッド getBeans() は、アプリケーションの初期化中に使用できません」というメッセージが表示され始めました。
はんだが奇妙な満たされていない依存関係の原因である可能性はありますか?
java - インターセプターが同じサービス クラスで呼び出されないのはなぜですか?
Java-SE アプリケーションでインターセプターを使用したいのですが、Weld を CDI 実装として使用しており、ここでこれをテストしています。
メインクラス:
サービス クラス:
インターセプタークラス:
そして出力:
私の質問
最初: methodCallNumberTwo() を呼び出しているときに、インターセプターが methodCall() で呼び出されないのはなぜですか?
2番目: それを変更する方法はありますか?
私はインターセプターの振る舞いを研究しているだけで、理解したいと思っています。前もって感謝します!