問題タブ [seam3]
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.
spring-security - Javaアプリケーションサーバーでの認証について
現在、さまざまなソースからの認証を必要とするJBossAS7で実行されているプロジェクトに取り組んでいます。認証を提供するために組み合わされるさまざまなコンポーネントを理解しようとしています。
私はこれがどのように組み合わされるかについていくつかの仮定/推測を持っていますが、私の理解が正しいことを確認する必要があります。以下は、JBossAS7の認証プロセスであると私が理解していることです。
ユーザーの認証方法を定義するセキュリティレルムがあります。次に、このレルムは、その一部またはすべてを保護するためにアプリケーションに公開されます。AS7では、これは<subsystem xmlns = "urn:jboss:domain:security:1.0">要素で設定されます。
レルムは、データベース、LDAP、ローカルファイルなどのログインモジュールを使用して、さまざまなソースに対してユーザーを認証するように構成できます。複数のログインモジュールを定義できます。認証を行うには、ログインモジュールの組み合わせを「成功」させる必要があることを指定できます。
実際のユーザー名とパスワードは、<login-config>要素で定義されたweb.xmlファイル(サーブレット用)で定義されたメカニズムを介して渡されます。
上記のプロセスが正しいと仮定すると(正しくない場合もあります):
- この認証プロセス全体はJAASのような仕様に該当しますか、それともJAASはこの手順のほんの一部またはオプションの部分ですか?
- すべてのタイプの<auth-methods>(つまり、BASIC、DIGEST、およびFORM)は、すべての種類のログインモジュールで機能しますか?このページはそうではないことを示唆しているように見えますが、<login-module>オプション<login-config>オプションに一致する明確なドキュメントは見ていません。
- login-configからlogin-moduleへのユーザー名とパスワードのフローは十分に単純に見えますが、中間ステップ(外部ログインページへのリダイレクトなど)があるOpenIDやOAuthなどのシステムではどうなりますか?
- Seam 3 Security、Apache Shiro、Spring Securityなどのプロジェクトはこの図にどのように当てはまりますか?
java - xDocReport - 入力ストリームのレポートを作成できません
この問題を処理できません。ソースは次のとおりです。
このコードを続行しようとすると、エラーが発生しました:
そして、それは次の行を指しています:
どういう意味ですか - レポート ローダーは [] ファイル タイプのみをサポートします。InputStream からのデータのロードに何か問題がありますか? これを解決する方法がわかりません。助けてください!
seam - 本番環境での SEAM 3 の良い例を知っている人はいますか?
実稼働環境で SEAM 3 の機能を確認することに興味がありますが、実稼働環境にある SEAM 3 サイトにはまだ出会っていません。公式の seam サイトのseam in productionセクションでさえ、seam 1 & 2 サイトのみを取り上げています。
本番環境での SEAM3 の例を知っている人はいますか?
ajax - Primefaces p:calendar with p:ajax 値が更新されない (1 ステップの遅延)
で日付が選択された後に Bean を呼び出したいp:calendar
。私のセットアップでは、@Named @ViewScoped
Bean があり、クラスObWithDate
は@Entity
日付フィールドvalidFromです。
update(ObWithDate myO)
良い点は、日付を選択するたびに正しいオブジェクトでBean メソッドが呼び出されることです。悪いことに、それmyO.validFrom
は正しい値を持っていません。常に一歩遅れています:
- 2012-01-01 で初期化されたフィールド
- GUI を 2012-01-05 に変更、Bean メソッドのデバッグを 2012-01-01 に変更
- GUI を 2012-01-15 に変更、Bean メソッドのデバッグを 2012-01-05 に変更
この問題は私を夢中にさせます.正しく更新されていない値に関するいくつかの問題とp:calendar
. それらのほとんどはselectListener="#{calendarBean.handleDateSelect}"
、 handleDateSelect(DateSelectEvent event)
メソッドで属性を使用することを提案しています。しかし、変数の現在のインスタンスを渡したいので、メソッドを呼び出したいと思います。
- Firebug は、更新された正しい値が POST 要求で送信されることを確認します
- Primefaces 3.2 と JBoss-7.1.1-Final を使用しています
- なくても問題
p:dataTable
だけを使用しp:calendar
ても同じです。 - method-Objectおよび の対応するエントリで、デバッグ出力の誤った値が確認される場合があります。
update(ObWithDate myO)
myBean.listObWithDates
<p:ajax immediate="true" .../>
はこの問題を解決しません。
アップデートMattHandy は私を大いに助けてくれました。p:dataTable: How to get the row of p:ajax dateSelect eventのフォローアップJSF p:calendar で定式化されています。
java - 注入ポイントで修飾子 [@Default] を持つ型 [...] の満たされていない依存関係 (CDI で @Stateful EJB を使用)
2 種類のリポジトリを管理する次のコードがあります。どちらのリポジトリ クラスも、リソースの再初期化を可能にするインターフェイスを継承します。
グローバルなアプリケーション スコープのリポジトリ:
ユーザーごとのセッション スコープのリポジトリ:
これを(なしで@Stateful
)コンテキストに注入すると
できます。ただし、クラスに追加@Stateful
するとUserRepository
、デプロイは失敗し、次の例外が発生します。
次のようにCDI Beanの名前を追加します
同じ例外が発生します。と組み合わせて機能する唯一のこと@Stateful
は、var 宣言でインターフェイスを使用することです。
ただし、ここではサブクラス機能が必要になる可能性があるため、CachingRepository
(現時点では) 使用することはあまり望ましくありません。
Q :
- これが期待どおりに機能しないのはなぜですか? var は、
UserRepository
インスタンス化するクラスをすでに識別しているはずですよね? これの論理は何ですか? @Stateful
EJB アノテーションがここまで深刻な影響を与えるのはなぜでしょうか?CachingRepository
本質的に var 宣言でインターフェイスを使用する必要があるのはなぜですか?
私は Seam 3 Faces を使用して をCDI@ViewScoped
ビュースコープの Bean にすることに注意してください。
hibernate - Hibernate 4 を使用して Seam3 で NULL を返す EntityManager
Jboss 7 と Hibernate 4 で Seam3 を使用して Web アプリケーションを正しく構成するには、あなたの助けが必要です。
EntityManager を注入して使用しようとすると、entitymanager の結果が NULL になりますが、Persistence.createEntityManagerFactory("myPU").createEntityManager() で EntityManager を取得しようとすると、結果は正しいです。
これは私のpersistence.xmlです
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
これは私の EntityManagerProducer です
これは私の /Web-INF/beans.xml です
そして、これはテストEntityManagerの私のクラスです...
JBOSS As7 でデプロイ (WAR) しようとすると、アプリケーションは例外なくデプロイされます...
数時間後..
EntityManagerProducer でこのコードを使用しようとしました:
しかし、展開中にこのエラーが発生しました:
WELD-001502 リソース プロデューサ フィールド [[フィールド] @PersistenceUnit @ConversationScoped @Produces startup.first.emf] として宣言された修飾子 [@Any @Default] を持つリソース プロデューサ フィールド [EntityManagerFactory] は @Dependent スコープである必要があります
私は何をすべきか?何が欠けていますか?
以下は、war ファイル内のライブラリのリストです。
Jboss のバージョンは 7.0.2 です
お願い助けて
あなたの答えをありがとう..私は削除しようとしましたが、効果はhibernate-entitymanager-4.0.0.CR1.jar
ありjboss-servlet-api_3.0_spec-1.0.0.Final.jar
ません!
persistence.xml も変更しました
この方法でエンティティマネージャーを作成しようとすると...
エラーは同じです....
あなたの答えをありがとう..私は削除しようとしましたが、効果はhibernate-entitymanager-4.0.0.CR1.jar
ありjboss-servlet-api_3.0_spec-1.0.0.Final.jar
ません!
persistence.xml も変更しました
エンティティマネージャーを作成しようとすると、エラーは同じです....
java - Java EE 6 - SEAM + EJB 統合 / 3 層アーキテクチャー
私は JSF 2.1 と EJB 3.1 を使用しています。これまでのところ、私のアプリケーションには次のような流れがあります:
- Facelets テンプレート
- .xhtml ページに接続された @ManagedBean
- EntityManager を使用して DB などからエンティティを取得する @Stateless EJB Bean
- EJB Bean は、@EJB を介して @ManagedBean に注入されます
したがって、基本的に 1 つのエンティティ クラスに対して、2 つのクラスと 1 つの xhtml ページがあります。
現在、SEAM 3 (はんだ、面、セキュリティ、および検証モジュール) を使用して新しいプロジェクトを開始しています。アプリケーション フローを簡素化するにはどうすればよいですか? JSF Bean 内で EntityManager を使用して、トランザクションなどのすべての EJB 関数を取得できますか? プロジェクト (エンティティ クラス、Bean クラス、サービス クラス) を整理するにはどうすればよいですか? 手伝ってくれてありがとう!
jsf-2 - JBoss AS7 スタック (JSF2、CDI、JPA2、Seam?) で ViewScope を使用して LazyInitializationException を回避する最も簡単な方法
以下の要件を満たす小規模な研究用プロトタイプおよび学生プロジェクト用に、JBoss AS7 に基づく Web アプリケーション スタックをセットアップしようとしています。
PrimeFaces コンポーネントと組み合わせて、マネージド Bean に ViewScope (またはMyFaces Orchestra のような (View)AccessScope)などの AJAX 関連のスコープを使用したいと考えています。
JPA ベースの永続性は、OpenSessionInView パターンなどに対処する必要がなく、かなり簡単です。JPA2 で私が抱えている主な問題は、特に AJAX 呼び出しで発生する恐ろしいLazyInitializationExceptionです。会話を手動で制御する必要はありません。
使用する依存関係をできるだけ少なくしたいので、主に JBoss AS7 に同梱されているものに依存しています。
現在、次の (ほとんどが提供されている) Maven 依存関係を使用してプロジェクトをセットアップしました。
- CDI
- 休止状態-2.0-api
- jboss-ejb-api_3.1_spec
- jboss-jsf-api_2.1_spec
- jboss-annotations-api_1.1_spec
- プライムフェイス3
これは今のところかなりスリムに見えます。欠けているのは、さらなる JSF 固有のスコープのサポートと、JSF ページ内のコレクションを反復処理するときに常に LazyInitializationException を受け取ることです。現在、永続化のためのサービス クラスは次のようになっています。
そして私の ResourceFactory Bean:
@Named
の代わりに@Stateful
、またはの@SessionScoped
代わりにを組み合わせてみましたがうまくいきませんでし@RequestScoped
た。しかし、Seam 3 Persistence、Solder & Faces モジュールを追加すると、ほとんどの問題が解決するように見えますが、これによりプロジェクトに大量の新しい依存関係が追加されます (例: seam-security、prettyfaces、drools、joda-time、およびその他の依存関係)。 )。
私の質問は次のとおりです。
LazyInitializationExceptionに関してEJBは役に立ちますか?
@Stateful
それとも、アノテーションのためにここですでに EJB を実際に使用していますか?@ManagedBean
これは jboss-as サンプル アプリケーションから取得しましたが、これらすべての,@Named
,@Stateful
,アノテーションの違いに完全に混乱してい@LocalBean
ます...私が知っているのは、エンティティ マネージャーの寿命を何らかの形でスコープにバインドする必要があるということだけですサービス豆。この問題を回避する他の簡単な方法を知っている人はいますか? エンティティごとに複数のコレクションがない場合にのみ機能するように見えるため、EAGER フェッチを使用することはオプションではありません...
MyFaces Orchestra の CDI の後継と思われるApache CODIについて読みました。これは Seam Faces のより良い代替手段ですか? 私が見る限り、ViewScope と ViewAccessScope を提供していますが、トランザクション管理に関しては何も提供していません。
この分野でより多くの経験を積んだ誰かがこれに光を当てることができれば素晴らしいことです-ほとんどの場合、互いに互換性がないように見えますが、同様の問題を扱うライブラリが非常に多くあるため、現在少し混乱しています(例を参照)ここで)。ありがとう!
jsf-2 - 実行時にjsf 2.0テキストフィールドを初期化する方法は?
実行時にテキストフィールドを初期化したいと思います。たとえば、次のようなprimefaces入力テキストがあります。
そしてBeanクラス:
jsf 2.0でこれを行うことは可能ですか?
java - Java EE-Seam2とSeam3-どちらを選択する必要がありますか?
新しいエンタープライズアプリケーションを開始しています。次のテクノロジーを選択しました:jee6(jsf + primefaces、ejb)およびhibernate。Glassfish3にデプロイします。
質問は、どのSeamバージョンを選択する必要があるかです。Seam 3が最新であることは知っていますが、Seam2も開発中であるようです。私はすぐにSeam2と3のドキュメントを調べましたが、Seam 2は私にははるかに簡単に見えます(特にセキュリティモジュール)