問題タブ [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.
jsf - WELD-001519 抽象クラス 'xxx' の InjectionTarget 実装が作成されました。このタイプのインスタンスを生成することはできません
以下の環境でアプリケーションを実行しています。
- グラスフィッシュ サーバー 4.0
- モハラ 2.2.4
- PrimeFaces 4.0 最終版
- PrimeFaces 拡張機能 1.1.0
- オムニフェイス 1.6.3
OmniFaces を追加すると、サーバー端末に次の警告が表示されます。
指定された環境で OmniFaces に問題はありますか?
java - Tomcat 7、Weld、RESTEasy が JAR をスキャンしない
Tomcat 7.0.47 があり、REST Easy JAXRS サービスをホストしています。サービスは 2 つの外部 JAR を使用します。1 つはベース リポジトリ インターフェイスとデフォルトの実装を持ち、もう 1 つはベースから派生した具体的なリポジトリを作成します (つまり、これら 2 つの JAR には依存関係があります)。
サービスは機能します。つまり、リクエストを送信してデータベースからデータを取得できます。
今私がやろうとしているのは、リポジトリを REST サービスに注入することです。これを行うために、REST コードを次のように変更しました。
beans.xml ファイルを Web アプリケーションの WAR ファイル (META-INF ディレクトリにあります) に追加し、beans.xml を両方の JARS に追加しました。
アプリをデプロイすると、次のメッセージが表示されます。
しかし、JAR のリポジトリ クラスに関する同様のメッセージは表示されません。
JAR がデプロイされます。beans.xml ファイルは JAR の META-INF ディレクトリにあります。@ManagedBean をリポジトリ クラスに追加してみました。
単純なものが欠けていると確信していますが、多くの検索はそれほど多くはありません。
これは Tomcat 7.0.47 です。溶接 2.1.0; レストイージー 3.0.5
他に何を試す必要がありますか?
java - JSF クエリ文字列パラメータ
私はおそらく、古典的な ASP の世界に由来する基本的なものを完全に見逃してしまったのでしょうが、JSF と Java についてはまったくの初心者です。エラーを生成せずに、最初のページ要求にクエリ文字列を追加できないようです。
ブラウザに入力http://localhost:8080/fooBean
してもエラーはありませんが、使用http://localhost:8080/fooBean/index.xhtml?param1=value¶m2=value2
すると次のエラーが生成されます。
WELD-001303 有効範囲タイプ javax.enterprise.context.SessionScope のアクティブなコンテキストがありません
ヘルプや説明をいただければ幸いです。
ありがとうございました。
java - java ee 6スタックとSpringフレームワークの違いは何ですか?
エンタープライズアプリケーションでJava ee 6とSpringフレームワークを使用する利点/欠点は何ですか? 大規模なプロジェクトにはどちらが適していますか (理由)? java ee 6と比較して、スプリングのデメリットは何ですか? 春の経験はありませんが、それらの違いを知りたいです。
java - void main からの Bootstrap Weld 2.1.0
通常の Java SE 環境で Weld を使用する CDI を使用してアプリケーションを開始するにはどうすればよいですか?この環境は、コマンド ラインから開始するだけで、バックグラウンドで Glassfish や Tomcat を使用していません。Weld 1.x を使用すると、次のようなことができます
しかし、Weld 2.x には initialize() がありません。
私はこのようなことができます:
これにより Foo が注入されますが、アプリケーション全体を jar にパックして、Weld が実際に実行を開始するのを待つ必要のない他のアプリケーションで使用したいと考えています。したがって、基本的に Weld を適切に初期化する方法が必要です。
cdi - JaxRS アプリケーションでの CDI HK2 エラー
Glassfish 4 用の JaxRS アプリケーションを作成しました。Jackson 2 を使用しています。問題なくビルドできますが、デプロイすると、次の 4 つのエラーのうちの 1 つ以上が発生します。
および/または
および/または
および/または
私が知っているように、グラスフィッシュがクラスを2回ロードしようとすると、最後の例外がスローされる可能性がありますか?
直接および間接の依存関係のスクリーンショットをアップロードしました。 http://i.stack.imgur.com/HEtb1.png
他のソリューションに関して<scope>provided</scope>
、これらのクラスを含むパッケージに追加しようとしました。--> 成功しない
何か考えはありますか?
編集1:
私のリソース構成:
Jackson 2 を有効にするには:
そのような多くのエンティティ:
それから私はそのような多くのDAOを持っています:
そして、そのような多くのリソース:
編集2:
新しいテスト プロジェクトを作成しました。依存関係を org.glassfish.jersey.server に追加するとすぐに、エラーが発生します。
編集3:
私はエラーでテストアプリケーションを作成しました:
http://www.file-upload.net/download-8459084/testApplication_20131229.rar.html
java - Java EE依存性注入はいつ使用するのですか?
私はこれが初めてで、いつ Java で DI を使用するのが適切かを理解したいと思います。異なる ping パラメータを使用して、異なるネットワークに ping を実行する必要があるとします。
クラス PingParams:
クラス PingResult:
クラス PingService:
クライアント:
注入ポイントは 2 つあります。
- PingService のコンストラクターに PingParams を挿入します。
これは正しいです?つまり、DI コンテナーはタイムアウトを認識できず、"Produces" アノテーション付きメソッドを作成しない限り、PingParams への注入を再試行します。この場合でも、オブジェクトを作成するためだけに大量の作業が行われます! もちろん、ネットワークごとに 1 つずつ、複数作成する必要がありますが、DI でそれを行うにはどうすればよいでしょうか。
- クライアントに PingService を注入します。
正当に思えますが、PingService は PingParams に依存しているため、インジェクション ポイント 1 に到達します。
DIを使用する唯一の適切な方法は、依存関係を持たない(したがって役に立たない)クラスを使用するか、すべての依存関係をパラメーターとしてサービスメソッドに渡す非常に単純なサービスクラスを使用することです。たとえば、ping メソッドで ip と PingParams を受け入れる PingService の場合も、このクラスには依存関係がありません...
何か不足していますか?これらの「データ」クラス、データを保持するためのフィールド (PingParams) のみを含むクラスで DI をどのように使用できますか? これらの場合、DIを避けるべきだと思いますか? ありがとう
java - Glassfish のインスタンス間のセッション レプリケーションの問題
Glassfish 4 を使用して、2 つのローカル インスタンス (同じクラスター、同じノード) 間でセッション レプリケーションを使用しようとしています。
いくつかのチュートリアルに従い、web.xml ファイルに次の入力を追加しました。ターゲット (クラスター) に war ファイルをデプロイするときに「可用性」が有効になっていることも確認しました。
私のアプリケーションは、Spring + JSF2 (javax.faces.bean の @ManagedBeans) に基づいています。(Mojarra 2.2.4、これも GF/modules ディレクトリの元の javax.faces.jar からオーバーライドします)。
溶接なし、jbossなし、会話なし。
単一のインスタンス (他のインスタンスがシャットダウン) にデプロイされた場合でも、glassfish 管理サーバーにデプロイされた場合はすべて正常に動作します。war ファイルをデプロイするときに「可用性」を無効にすると、2 つのインスタンスでも機能します。
しかし、ネイティブのセッション レプリケーション動作を使用しようとすると、次のトレースが表示され、アプリケーションが表示されません (またはインスタンスがクラッシュすることさえあります)。
セッションのデシリアライゼーションの問題のようです。
web.xml :
次の問題が発生します:
JBOSSも会話動作(または注釈)も使用していないため、その理由は本当にわかりません。
ご協力いただきありがとうございます。