問題タブ [jboss-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.

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

cdi - CDI に修飾子を含む文字列を挿入する

私は単純なことをしようとしています。修飾されたString(またはFile) を CDI に挿入します。

だから私は修飾子を持っています:

私はプロデューサーを持っています:

そして、私はそれを使用しようとしています:

ただし、WELD はこの Bean をインスタンス化できません。例外が発生しています:

プロキシできないことはわかってStringいますが、なぜ WELD がプロキシを作成したいのですか? スコープが@Dependentあるため、とにかくプロキシを作成しないでください。どうすればそれを機能させることができますか?

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

jsf-2 - Apache MyFaces CODI PageBean: "引数 Bean は null であってはなりません"

現在、Apache MyFaces CODI を少し試しています。@Page とクラスを返すアクション メソッドを使用して、簡単に機能する Typesafe-Navigation を作成することができました。

ただし、たとえば MyPageBean.class を使用して @PageBean-Annotation を追加すると、ページに移動しようとすると次の例外がスローされます。

私のページのコードは次のとおりです。

そして私のページビーン:

そして、Facelets ページによって呼び出される Action-Method:

pageBean-Class (MyPageBean) には特定の注釈またはインターフェースが必要ですか? すでに @Model を使用してみましたが、何も変わりませんでした。

私の構成:

  • Weld を使用した Jave EE6 (weld-archetype を使用して作成)
  • Glassfish 3.1 Community Edition (Netbeans 7 に同梱されているもの)
  • JSF2.0 (モハラ 2.1)
  • EJB 3.1
  • MyFaces CODI 0.9.4
  • RichFaces 4.0.0.Final

アドバイスをありがとう!

よろしく、ロバート

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

events - Glassfish 3.1 で @Asynchronous および Weld/CDI イベントと @Observes(during=TransactionPhase.AFTER_COMPLETION) を組み合わせる方法

最初に、次のコード例は GF 3.0.1 で問題なく動作したことを述べさせてください。問題は、GF 3.1 に切り替えたときに始まりました。

メソッドを使用しています

スイッチ以降、これが を受信するたびExecuteFlowStepEventに、次のエラー メッセージが表示されます。

これ以上の情報やスタック トレースは提供されません。@Asynchronous注釈と属性を削除すると機能しますが、タイミングAFTER_COMPLETIONに依存するため、もちろんプログラムが壊れます。AFTER_COMPLETION

Weld Forums で助けを求めようとしましたが、これまでのところ役に立ちませんでしたが、同じ問題を抱えている人が他にもいるようです: http://seamframework.org/Community/WeldUsers

少なくとも知りたいのですが、これはバグですか、それとも望んでいますか。これは、Weld が非同期メソッド/AFTER_COMPLETION 属性で機能しないことを意味しますか? これが GF 3.0.1 で機能したのはなぜですか? GF 3.1 でこれを機能させることができた人はいますか?

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

cdi - Arquillian - Weld SE - NullPointerException の取得

私は Arquillian を初めて使用し、いくつかの基本的なテストを機能させたいと考えています (Bean を注入し、それが何かを行うことをアサートします)。

例外:

TestCase クラス

これを実行すると、NullPointerException が発生します。Bean マネージャーは null です。手順が不足しているように見えますが、例から、必要なのはこれだけのようです。

何か案は?

ウォルター

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

wicket - Jetty 6.1.26、Weld 1.1.1 を使用したシームウィケット

Jetty 6.1.26、Weld 1.1.1、seam-wicket 3.0.0、Wicket 1.4.17 が埋め込まれた seam-wicket を試しています。

BeanManager が見つからないようにする seam-wicket バグを修正した後 (JNDI が機能せず、ServletContext からプルする必要があります - そのために誰かのクラスを使用しました)。

次に、RandomNumber の例を試してみました
http://docs.jboss.org/weld/reference/1.1.0.Final/en-US/html_single/#d0e948

そしてWicketコンポーネントで@Injectしようとしました

何も機能しませんでした。毎回これを取得しました:

では、CDI を機能させるにはどうすればよいでしょうか。アイデアをありがとう。

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

ejb - CDI WELD @ConversationScoped @Stateful EJBconversation.end()&@ Remove SFSB

現在、ConversationScopedステートフルセッションBean(SFSB)を削除しようとしています。ConversationScopeはCDIコンテナによって管理され、SFSBのライフサイクルはEJBコンテナによって管理されます。これは正しいです?

私のコントローラーでは、SFSBのメソッドを呼び出して会話を終了し、@Remove注釈付きメソッドを呼び出してSFSBを破棄しようとしています。

会話は問題なく終了できますが、SFSBを破棄することはできません。

溶接リファレンスガイド(WELD会話スコープ)のコード例:

コントローラー:

testController.checkout(order)を呼び出した後、次の例外が発生します。

javax.servlet.ServletException:java.lang.reflect.InvocationTargetException javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:67)根本原因

java.lang.reflect.InvocationTargetException javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:98)com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:98)javax.faces.component.UICommand.broadcast (UICommand.java:311)javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:781)javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1246)com.sun.faces.lifecycle.InvokeApplicationPhase.execute (InvokeApplicationPhase.java:77)com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)javax.faces.webapp.FacesServlet .service(FacesServlet.java:308)org.jboss.weld.servlet.ConversationPropagationFilter。doFilter(ConversationPropagationFilter.java:67)

何か案は?

THX

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

netbeans - Java 拡張イメージングは​​、Mac 上の Glassfish の EJB モジュールでは使用できませんが、EAR には表示されます

私は、Geotools を使用するアプリケーションを開発しています。Geotools は、Java Advanced Imaging (JAI) API を使用して Glassfish で実行されます。Netbeans からアプリケーションを EJB jar ファイルとして実行すると、CDI スキャン中に ClassNotFoundException が発生するため、デプロイに失敗します。

ただし、EJB モジュールを EAR ファイルにパッケージ化すると、上記の例外は発生せず、問題なくロードされるようです。

Mac では JAI コア クラスがシステム拡張ライブラリにあるため、クラスパスに表示されないことに困惑しています。

クラスのロードに関しては、EJB jar と EAR ファイルに違いはありますか?それとも、Glassfish / Weld で大きな違いがありますか?

考えてみてください-とにかく私のprjectが使用するライブラリをglassfishはどのように見つけますか-それらはejb jarファイルにパッケージ化されていないようです-netbeansはここでボンネットの下で何か賢いことをしていますが、それはどういうわけか斜めになっていますか?

ありがとう、ジョシュ

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

glassfish - CDI イベント オブザーバー メソッドは EJB と互換性がありますか?

CDI オブザーバー メソッドを持つシングルトン EJB (javax.ejb.Singleton バージョン。ため息) があります。これを Glassfish 3.1 にデプロイしようとすると、サーバーは実際の説明なしに EAR ファイルのデプロイに失敗します。デプロイ中に例外があったとだけ言って、詳細はありません。

これは CDI イベント リスナーです。

Singleton Bean を @ApplicationScoped Bean に変更すると、アプリは正常にデプロイされます。同様に、CDI イベント オブザーバー メソッドを削除すると、アプリケーションは正常にデプロイされます。EJBのトランザクション、スレッドセーフなどが必要なため、実際にはクラスをEJBシングルトンにする必要があるため、これを@ApplicationScoped POJOのままにしておくだけではあまり役に立ちません。ただし、問題は Singleton Bean に限定されているようには見えません。アノテーションを @Stateless および @Stateful に変更して実験したところ、同じ問題が発生しました。

これは Weld のバグであると思われます。おそらく、Weld と EJB はそのメソッドをプロキシする方法について争っています。おそらく、EJB はインターセプタ クラスを追加し、そのメソッドをラップしてスレッドの安全性を確保する必要があり、Weld は何かをしようとしています。他にイベントリスナーを機能させるには?

ここで何か誤解しているのでしょうか?EJB で CDI イベント ハンドラーを使用しないでください (その場合、glassfish からのエラー メッセージが改善されます)。それとも、これは実際には CDI または EJB 実装の単なるバグですか?

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

java - @ConversationScoped Bean に対して @PostConstruct が複数回呼び出されました

@ConversationScoped Bean があり、次のように開始メソッドがあります。

私の問題は、ページが更新されるたびに新しい会話が開始され、Bean 内のメソッドへの AJAX 呼び出しがあるたびに新しい会話も開始されることです (これが私の主な問題です)。

私が本当にやりたいことは、手動で conversation.end() を呼び出すまで、sam 会話がぶらぶらすることです。ここで何が欠けていますか?