問題タブ [application-client]
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.
eclipse - アプリケーションクライアントEJBEclipseGlassfish
Eclipse用のGlassFishToolsBundleを使用しています。
Beanとそれをテストするクライアントを作成する必要があります。Bean(およびそのインターフェイス)は次のとおりです。
インターフェース:
私はそれらをEJBプロジェクトで正しく作成し、「サーバーとして」実行します。すべてが正しく開始されているようです。
次に、クライアントを作成します。クライアントを同じプロジェクト内に配置して、別のプロジェクト(「アプリケーションクライアントプロジェクト」)を作成したり、2つのサブプロジェクトを使用してより一般的な「Eアプリケーションプロジェクト」を作成したりしました。結果は同じです。
さて、クライアントコードは次のとおりです
このファイルを実行すると、常に同じようになります。
これは、クライアントがBeanの同じコンテナーになく、「デプロイ」されていないためだと思います(ファイルを実行するだけです)。しかし、より一般的な「エンタープライズアプリケーションプロジェクト」を試したところ、結果は同じでした)
@EJB
では、クライアントをどこに配置し、Beanへのアクセスを(で)与えるのですか?
multithreading - クライアントアプリからEJBを呼び出している間のEJBプール
JNDIを介してアプリケーションクライアントにEJBを挿入し、このEJBを複数のスレッドから呼び出しても大丈夫ですか?
j2eeコンテナは、より多くのリクエストを処理するために、より多くのejbを作成することを認識しますか?
または、すべてのスレッドでJNDIを介してEJBを挿入する必要がありますか?
java - GlassFishアプリケーションクライアントコンテナ
埋め込み可能なGlassfishアプリのクライアントコンテナを使用しようとしています。私が見つけることができる唯一のリソースは、この魅力的なコードスニペットを含む上記のjavadocです。
(または、代わりに)
それから、
これはかなり素晴らしいように見えますが、私はこれをさまざまな異なるエラーで数回実行しようとしました。
誰かがこれを使用した経験がありますか、またはこれを使用する方法を説明するいくつかのリソースの方向に私を向けることができますか?
netbeans - Java EE で Maven を使用して「アプリケーション クライアント」を作成する
GlassFish のアプリケーション クライアント コンテナで実行されるアプリケーション クライアントを使用して、Maven ベースのエンタープライズ アプリケーションを作成しようとしています。これは、Netbeans の「エンタープライズ アプリケーション」+「エンタープライズ アプリケーション クライアント」のプロジェクト テンプレートと同じように適合するはずですが、アリではなく Maven を使用します。
今まで私は次のプロジェクトを持っています
- アセンブリ Maven プロジェクト
- EARモジュール
- EJB モジュール
- WEB-Module (耳の内側でうまく機能します)
- Swing クライアント モジュール
アセンブリ pom.xml は次のようになります。
ear pom.xml には
Swing クライアントの pom.xml には次のものが含まれます。
現在、Swing クライアントと EJB モジュールの間に依存関係はありません。シンプルな Swing フォームを立ち上げて、ACC フォーム GlassFish (v 3.1.1) から実行したいだけです。
しかし、これはうまくいきません。Swing-Client は ear-file 内の lib フォルダーにパックされており、起動できません。
このタスクを満たすチュートリアルまたは例を知っていますか?
jakarta-ee - コマンドラインによるアプリケーションクライアントのデプロイ(asadmin)
asadminコマンドでjava-web-startが有効になっているアプリケーションクライアントをデプロイするためのオプション/パラメーターはありますか?GlassFish3.1.1を使用しています。
webguiにデプロイすると、うまく機能するjarファイルがあります
タイプ:「アプリケーションクライアント」
Java-Web-Start [x]
私はこのようなものを探します:
java - Java EE 6 アプリケーション クライアントのログイン
私は Java EE にまったく慣れていないので、作成したいアプリケーションを使い始めたばかりで、多くの問題を抱えています。私が欲しいのは、EJB プロジェクトに接続する Swing アプリケーション クライアントです。Glassfish v3.1.1 を使用しています。これまでのところ、2 つのステートレス Bean があり、そのうちの 1 つは @DeclareRoles と Glassfish の JDBC レルムを使用して保護されており、クライアントの始まりです。
クライアントを実行すると、ユーザー名を選択し、パスワードを入力してログインできます。正しいパスワードを使用すると、すべてが機能します (クライアント コンソールは「安全な」情報を吐き出します)。ただし、間違ったパスワードを入力すると、永久にロックアウトされます。InitialContext.lookup は、CallbackHandler を再度呼び出して新しいパスワードを確認することはなく、正しくない資格情報を使用し続けます。
誰かがこれを正しく行う方法を教えてもらえますか? この状況で正しい方法を使用していますか? Web には膨大な量の情報がありますが、基本的に私がやろうとしていることの例はありませんか? すべてが J2EE またはサーブレットにのみ適用されるようです! 関連するコードを次に示します。
グラスフィッシュ-ejb-jar.xml:
<ior-security-config>
作成するすべてのセキュア Bean にブロックを追加する必要がありますか?
アプリケーションクライアント.xml:
machinehub.LoginCallbackHandler:
では、最後に、swing アプリケーション クライアントについて説明します。
machinehub.LoginFrame
java - アプリケーションクライアントを含むearをGlassfish3.1.2にデプロイすると、例外がスローされます
私はこの質問をしているのは、自分で答えられるようにするためです。なぜなら、それは2日間私を狂わせ、他の誰も私のように苦しむ必要がないからです。
耳を配置すると、次のような例外が発生します。
または時々このように:
あるマシンで完全に機能するearファイルが別のマシンに展開できない可能性があり、サーバーが問題に「感染」しているように見え、以前は完全に機能していたearの展開を拒否する可能性があるため、バグは非常に厄介です。キャッシュと生成されたファイルをクリアしても、それがなくなるわけではありません。
eclipse - 同じEARのアプリケーションクライアントで@EJBインジェクションを使用する
私は今、自分の解決策を見つけるために何日も検索しました。私の意見では、それほど難しくはありませんが、明らかに解決できない問題です。
いくつかのEJB、Webクライアント(正常に動作)を含むEARプロジェクトがあり、アプリケーションクライアントモジュールを追加しました。
すべてが同じプロジェクトにあるので、アプリケーションクライアントのメインクラスでの単純な@EJBインジェクションで十分だと思いました。JNDIルックアップも試しました。サーバーとしてEclipseとGlassfishを使用し、アプリケーションを実行しようとしました。1. eclipseで(注入されたBeanはnullです)、2。Glassfish管理からclient-stubをダウンロードし、sh appclient -client(または-jar)OmazanClient.jar(およびclient-stubフォルダーに隠されている他の2つのjar)。そこで私は主に次のような「ClassNotFoundExeption:Main」を取得します
したがって、インジェクションの場合、私のコードは次のようになります。
私のリモートインターフェースは次のようになります。
..。
私の実装はこれです:
...など(インターフェイスに必要なすべてのメソッドが実装されています。ここでは短くしてください)
MANIFEST.MFは
私はJNDIルックアップとよく似ており、Bean名(例を参照)などを付けています。しかし、インターフェースが見つからない(ルックアップ)か、Beanが単にnullです。
ただし、アプリケーションクライアントの実行方法もよくわかりません。glassfishs appclientが正しい出発点だと思いましたか?これはコンソールとの相互作用であるため、スイングコンポーネントなどは使用できません。
今、私が見逃したかもしれない提案に感謝します。
乾杯 :)
解決策を見つけました。どういうわけか、JNDIは現在機能しています。もう1つの問題は、dbクエリがプリミティブ値や文字列ではなくオブジェクトを返すことでした。これによりバッファエラーが発生しました。
ただし、実行中のアプリケーションクライアントを正しくエクスポートする方法についてはまだ混乱しています。多分誰かがアイデアを持っていますか?!
jakarta-ee - サーバーによってプッシュされたEJBからアプリケーションクライアントにイベントと通知を取得させる方法は?
Java EE と CDI を使用すると、EJB をアプリケーション クライアントに注入し、アプリケーション クライアントが EJB と対話できるようにするのは非常に簡単です。本当に簡単です。そしてまた、このコミュニケーションの流れは、本とインターネットの総和が語るものです。誰も心配しているようには見えず、会話の流れを逆にする必要もありません. EJB が、サーバーから発信されたアプリケーション クライアントにイベントと通知をプッシュできるようにしたいと考えています (アプリケーション クライアントは Java Web Start で起動されます)。
確かに、アプリケーション クライアントが常にサーバーからデータをポーリングするようにすることはできますが、それは良い設計とは言えません。私の Web クライアントは ajax long pull (comet) を使用していますが、アプリケーション クライアントよりもサーバーへの負担が本当に小さいのでしょうか?
私の見方では、JMS が唯一の選択肢です。そして、それは私が2つの間で行う単純な種類の通信にはやり過ぎのようです。私が知っているのは、JAVAエンドポイントです=) RMIを試し、アプリケーションクライアントからEJBにリモートスタブをプッシュしましたが、例外が発生しました問題のオブジェクトは、すでにある種のリモート スタブです。うーん。
アイデアはありますか?
編集
同様の議論がここで行われます。彼らも、JMS を使用する以外に方法はないと考えています。私の Java EE ブックや公式の Oracle チュートリアルのどれもがこの問題に対処していないことは、少し「混乱」していると思います。ちょっとした補足でもありません。この宇宙で自分がやろうとしていることをやろうとしているのは私だけですか?
java - Glassfish で @EJB アノテーションと Maven を使用するアプリケーション クライアント
シンプルなプロジェクト (Maven なし) を使用して Application Client を作成する方法の例が NetBeans サイトにあります。4 つのプロジェクト (EJB、EAR、Lib、Program) が必要です。このチュートリアルはシンプルで完璧に機能します。
Mavenで同じことをする方法を知りたいですか? すべての依存関係を正しく取得することができないため、EJB メソッドを呼び出そうとすると、NullPointerException
. 実行する必要がある重要な手順 (NetBeans を使用することをお勧めします) を誰か教えてもらえますか? 私は混乱しているので、いくつのプロジェクトを作成する必要がありますか? アプリケーション プロジェクト、EAR、および EJB プロジェクトが必要なのはわかっていますが、それだけですか? これらのプロジェクトの pom.xml ファイルには、どのような特別な構成を記述する必要がありますか?
EDIT1:
@EJB アノテーションを使用できるようにしたいので、JNDI を明示的に使用したくありません。