問題タブ [glassfish-embedded]

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 投票する
0 に答える
145 参照

java - 組み込みの ejb-Test-Get データベース

テスト用の埋め込み ejb コンテナーを取得しました。クライアント側 (テスト) では、ルックアップ メカニズムを使用して DataSource を取得したいと考えています。問題は、ルックアップ メソッドが常にエラーを返すことです。

javax.naming.NamingException: SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory. state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [ルート例外は javax.naming.NamingException: 呼び出し例外: Got null ComponentInvocation ] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:491)

persistence.xml:

グラスフィッシュ-resources.xml:

MyTest.java:

さまざまなルックアップ属性を試しましたが、どれも機能しませんでした。誰かが何か考えがありますか?

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

jakarta-ee - EJB3 からの Restful クライアントのテスト

EJB 内で JAX-RS クライアントを作成しているときに、JAX-RS の実装を取得できない理由がわかりません。Glassfish 3.1 のようなアプリケーション サーバーは、Jersey のような JAX-RS 実装を提供する必要があると想定されており、依存関係のように追加する必要はありませんが、それを見つけることができません。

エラーは、java.lang.ClassNotFoundException: org.glassfish.jersey.client.JerseyClientBuilderGlassfish が提供する必要があるため、Jersey をクラスパスに追加する必要はないと思います。

エラーを生成するコードは

このコードは EJB メソッド内にあり、私のテスト ケースは次のとおりです。

pom.xml ファイルの依存関係は次のようになります。

パッケージはWARファイルですが、問題ないと思います。

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

maven - Glassfish 埋め込みは EJB モジュールをデプロイできません

私の問題に対する答えを見つけるために Stackoverflow を検索しましたが、非常によく似た問題がいくつか見つかりましたが、答えはありませんでした。

私がやろうとしていること: Glassfish 4.1 組み込みコンテナーが開始される簡単な junit テストを作成し、EJB の簡単な操作をテストします。

サンプル EJB:

ものすごく単純。これが私の単体テストです:

私の pom.xml 依存関係:

また、次の依存関係を追加してみました。

結果: 埋め込まれた GF 4.1 コンテナーは、その単純な EJB をロードできませんでした (maven コンパイル後に target/classes フォルダーにあります)。

さまざまなコード変更 (プロパティを使用してコンテナーに渡すかどうかなど) に基づいて、次のエラーが発生します。

GF 4.1 組み込みの UnsatisfiedDependencyException

GF 4.1 Embedded を展開できない

GF 4.1 Embedded で EJB クラスをデプロイできない

貼り付けたコードは、リンクされた最後のエラー メッセージを表示しています。

そして、私は理解していません。私が情報を探すところはどこでも、これはうまくいくはずだと言っています。

また、これを OpenEJB コンテナー (残念ながら jee6 のみ) で試してみると、正常に動作します。

助けてくれてありがとう!

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

jakarta-ee - Arquillian と GlassFish が埋め込まれた構成の問題、デプロイが失敗する

私は数か月前に開発されたアプリケーションに割り当てられましたが、本番環境にデプロイされたことはありません。これは、EJB が組み込まれた戦争です。ターゲット サーバーは JavaEE 7 (Weblogic 12.2.1) でしたが、このサーバーは私たちのインフラでは利用できなかったため、統合テストは Glassfish-embedded-3.1 上の Arquillian で行われました。

はい、わかっています。Glassfish-3.1 は JavaEE 6 に準拠しているため、あまり論理的ではありません。さらに、プロジェクトはいくつかの Java 8 機能で構築されています。:)

しかし問題ありません。統合テストはこの構成でうまく動作します。これは、このバージョンの pom です。

私には奇妙に聞こえるいくつかの点があります:

  • コンパイラのソースとターゲット: 1.8
  • javaee-api : 7.0 (1.8 を使用しても安全ですか??)
  • arquillian-glassfish-embedded-3.1 (javaee 7 の場合 ??)
  • glassfish-embedded-all : 4.1 (arquillian-glassfish-embedded バージョンにリンクすべきではありませんか?)

奇妙に聞こえるかもしれませんが、Arquillian テストはこの構成で問題なく実行されます。これらの点は、この質問の主な目的ではありません。

その後、数週間前、数か月凍結された後、このプロジェクトを本番環境にデプロイする必要があります。また、このプロジェクトは、ターゲット バージョンの weblogic の別の環境でテストまたはデプロイされたことはありません。

実際、weblogic 12.2.1 は私たちのインフラストラクチャではまだ利用できなかったため、プロジェクトをダウングレードして weblogic 12.1.3 で実行する必要がありました。(コンパイラ ソースとターゲット:1.8 / javaee-api:7 / ダイアモンド、ストリーム、複数のキャッチの削除、EJB タイマーのリファクタリング、@EJB による EJB インジェクション @Inject の奇妙な動作のため、LocaleDate のリファクタリング、try の loadResource など)

私はあまりにも急いでいたので、IT 構成の維持に気を配っていませんでした。(ただし、単体テストは問題ありません。) プロジェクトは正常に展開され、運用環境で正常に実行されます。

今、私はこのプロジェクトに再び費やす時間が少しあり、IT を正そうとしていますが、それは悪夢であり、起こっていることすべてを理解していません.

私のアプローチ:

  1. そのまま実行します。

UT で失敗:

わかりました、それは への依存が原因ですjavaee-api 6.0

  1. 依存関係javaee-apiorg.jboss.spec:jboss-javaee-6.0:1.0.0.Finalバージョン 3.0.3.Final 以降に置き換えます。

IT での失敗 :

OK、jboss-javaee-6.0依存しますjavax.validation:validation-api:jar:1.0.0.GAParameterNameProvider、validation-api 1.1 にあります

は。ParameterNameProvider が必要な理由がわかりません。何によって?JUnit4で?Validation 1.1 に対して検証するのはなぜですか?

  1. 依存関係を validation-api 1.1 に追加しますjavax.validation:validation-api:1.1.0.Final

失敗:

SynchronizationTypeJavaEE 6には存在しないため、失敗することを理解していますJava Persistence 2.1。しかし、繰り返しになりますが、私のプロジェクトでこの必要性を意味するのは何ですか??? 私の依存ツリーには、jboss-javaee-6.0それに依存するhibernate-jpa-2.0-apiものがあります-その名前が信頼できる場合-jpa 2.0に準拠しています。

ああ、わかりました。glassfish-embedded-all:4.1一致しないに依存しているためです。

  1. この依存関係のバージョンを次のように置き換えますorg.glassfish.main.extras:glassfish-embedded-all:3.1.2.2

それでも失敗します...サーバーが起動する前のITの開始時に、次のエラーが発生しました:

サーバーが起動し、JDBC リソースは問題なく、デプロイが開始されますが失敗します:

そして今... どうすればいいのかわかりません。

今私のポンは:

誰かが私を助けることができますか?