問題タブ [java-ee-7]

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 に答える
837 参照

jakarta-ee - GlassFish 4 サーバーで Java クラス (サーブレットではない) を実行する

次の 2 つの質問があります。

  1. GlassFish 4Eclipse Juno などを介してサーバー上で Java クラス (サーブレットや JavaBean ではない) を開始する方法は?

  2. 起動時に実行する適切な方法は何ですか?

機能を使用し、サーバー上で実行する必要がある Java クラスがJDNIあります。それはどのように行うことができますか?

サーバーの起動時に実行することに関するいくつかの情報を見つけました。これは、次のオプションに要約されます。

  • @Startup@Singletonアノテーションの両方を使用する(私が理解しているように、これは特に EJB 用です)
  • LifecycleListenerインターフェイスの実装
  • Startupインターフェイスの実装

『Oracle GlassFish Server Application Development Guide』には、次のように明確に記載されています。

ライフサイクル リスナー モジュールは非推奨です。それらのサポートは、下位互換性のために含まれています。代わりに org.glassfish.api.Startup インターフェースを実装することをお勧めします。

org.glassfish.api.*インポートを追加し、クラスにStartupインターフェイスを実装するEclipseように指示したとき、それは非推奨であると警告されました。私のクラスはEJB ではないので、何が残っているのかわかりません。とにかく先に進みStartup interface、その要件を満たすために、次のメソッドを追加しました。

Eclipse でサーバーを停止して起動しましたが、クラスは実行されていないようです。クラスに System.out.println() 呼び出しがありますが、そのメッセージが [サーバー] タブと [コンソール] タブにもサーバー ログにも表示されませんでした。

だから、これは私が立ち往生したものです。

あなたの提案をいただければ幸いです。

説明:

質問の私の起動関連の部分は、サーバー(つまりGlassFish)の起動(Webアプリケーションの起動ではありません)に言及しています。サーバーの起動時にこのクラスを強制的GlassFishにインスタンス化し、サーバーの存続期間中実行させる必要があります。

基本的には、キューを監視し、さまざまな送信者からの要求に応答するために起動する必要があるメッセージ リスナーです。

0 投票する
3 に答える
33040 参照

dependency-injection - CDI 1.1 で注釈が付けられている Bean 検出モードの意味

アプリケーションを Java EE 7 に移行しており、CDI 1.1 に移行したいと考えています。しかし、私はの意味を理解していませんbean-discovery-mode="annotated"CDI 1.1 仕様は あまり役に立ちません。少なくとも、有用な段落は見つかりませんでした。私はそれを逃しましたか?

この例は完全に実行され、次bean-discovery-mode="all"のインスタンスを挿入しますLoggingClass

しかし、コンテナに変更するbean-discovery-mode="all"bean-discovery-mode="annotated"、フィールドにインスタンスを注入できませんlc

正しくLoggingClass使用するにはどのように注釈を付ける必要がありますか?bean-discovery-mode="annotated"

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

web-services - Java EE 7 GlassFish 4.0 と Netbean を使用して Glassfish 4.0 に展開する Restful Web サービス

このチュートリアルに従って、 Netbean 7.3.1 を使用して単純な Java EE 7 Web サービスを作成しました。Netbeans で Glassfish 4.0 を実行しています。問題なくプロジェクトを正常に実行しました。

次のステップは、Web サービス プロジェクトを GlassFish 4.0 Web サーバーのスタンドアロン バージョンにデプロイすることです。したがって、Netbeans なしで実行できます。

で Glassfish Web インターフェイスを使用しhttp://localhost:4848、ナビゲートする

(「サーバーにアップロードするパッケージ ファイル」) を使用して参照し、プロジェクトのサブ ディレクトリ /dist/ から CustomerDB.war ファイルを選択します。

プロジェクトをNetbeanで実行してwarファイルを作成しました。

しかし、デプロイは次のエラーで失敗しました。

Server Log C:\glassfish4\glassfish\domains\domain1\logs\server.log を確認したところ

それは言う

アップデート:

OK、接続を追加するのを忘れたので、上記の問題の解決策を見つけました。接続プールと接続リソースを追加しました。

ナビゲートして JDBC 接続プールを追加しましたCommon Tasks -> Resources -> JDBC -> JDBC Connection Pools

ナビゲートして接続リソースを追加しましたCommon Tasks -> Resources -> JDBC -> JDBC Resources

しかし、私はまだエラーが発生しています。今回は違います。

私が見逃しているものはありますか?

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

web-services - Java EE 7 Restful Webservice POST メソッドには ID タイプの自動インクリメントが必要です

このチュートリアルを使用して、Netbean 7.3.1 を使用して単純な Java EE 7 Web サービスを作成しています。

正常に実行されました。GET、PUT、POST、DELETE を使用してテストしています。POSTを除いて、3つすべてが正常に機能しています。

ID を含むこの json データを投稿していますが、これは正常に機能します。

しかし、私のIDは自動インクリメントであるため、IDなしで次のjsonをPOSTすると、次のエラーで失敗します

エラーは

POSTの送信中にデータベースで自動インクリメントタイプのIDを送信する必要がある理由を誰かが説明できますか? 回避策はありますか?

エンティティクラスのコードは

AddressFacadeREST.java クラスは次のようになります。

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

hosting - Java EE 7 Restful Webservice MySQL データベースのホスティング

Java EE 7、Netbeans 7.3.1、および GlassFish 4.0 Web サーバー上の MySQL データベースを使用して、Restful Web サービスを開発しました。

現在、オンラインサーバーでホスト/デプロイすることを検討しています。GlassFish 4.0 で MySQL データベースを使用する Java EE 7 のホスティング プロバイダーを検索しましたが、見つかりませんでした。ここで見つけたのは、現時点で Java EE 6 のみをサポートするopenshiftです。

私のオプションは何ですか?上記の要件を満たすために利用できるホスティング プロバイダーはありますか?

上記の Web サービスをホストするために Google アプリ エンジンまたは Amazon を使用できるかどうかわかりません。

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

jakarta-ee - JBoss AS 7.1 の Java EE バージョンを確認する方法

JBoss AS 7.1 を使用していますが、提供されている Java EE のバージョンを確認する必要があります。Java EE 6 であると確信しています。しかし、2013 年 5 月以降にリリースされた Java EE 7 に切り替えるにはどうすればバージョン番号を確認できますか?

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

java - Websocket クライアントを Glassfish にデプロイできない

スタック オーバーフロー ギークの皆様

Java EE 7 を使用して非常に基本的な Java クライアント/サーバー アプリを作成しようとしていますが、JSR 356 実装を使用して websocket 経由でメッセージを送信することを目的としています。

そこで見つけたさまざまなブログに従って、サーバーのプログラミングとデプロイに成功し、Javascript クライアントと Java サーバーと通信することができました。

今私がやろうとしているのは、サーバーと通信して同じ情報を取得する必要があるスタンドアロンの Java アプリを作成することです。JSR 356 実装は Java クライアントで使用できると読みましたが、まさにそれを実行しました。また、Tyrus を使用してクライアントを作成し、ラッチ メカニズムなどを使用してクライアントを実行し続けました。クライアントは最終的にプログラムされ、サーバーは稼働していますが、クライアントを実行しようとすると、次のエラーが発生します。

私は NetBeans 7.3 で Java EE 7 API + Tyrus を使用しており、Glassfish 4 にデプロイしています (これは、私が読んだことから、JSR 356 実装をサポートしています) さて、一体なぜ CloseReason クラスが見つからないのでしょう! :( その場合はコンパイルされるべきではありませんね。

奇妙なことに、websocket の実装 (JSR 356) に関連する他のクラスについて文句を言っていないのに、サーバー (web-app) をデプロイしたところ、websocket メカニズムは問題なく動作しています。(私はそこにCloseReasonを実装していないと思います..しかし、なぜそれについてだけ不平を言っているのですか!:@)

提供されるヘルプは大歓迎です!!

乾杯、

別のスタック オーバーフロー オタクが助けを求めています。:)

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

java - updatetool を使用して javaee7 チュートリアルのチュートリアル コンテンツをインストールできない

最新の javaee7 チュートリアルをダウンロードし、コマンドでチュートリアル ファイルをダウンロードしてみましたupdatetool。次の手順を実行しました。

  • glassfish4zipファイルをダウンロードして解凍した
  • $AS_JAVAに等しい変数を設定します$JAVA_HOMEJAVA_HOME以前の構成から有効な oracle-7-jdk を正しく指していました。
  • 次に、親glassfishglassfishディレクトリをに追加しましたPATH。するとwhich updatetool、次のようになります/home/frrole/glassfish4/bin/updatetool。だから私はすべてが大丈夫だと思います。「asadmin start-domain」を使用して Glassfish サーバーを正常に起動することもできます

  • と入力updatetoolすると、次のエラーが表示されます。

frrole@Frrole-NER1:/usr/lib/jvm/java-7-oracle$ updatetool

このコマンドに必要なソフトウェア (updatetool) がインストールされていません。

更新ツールのインストールを選択すると、ソフトウェアの更新を定期的にチェックするようにシステムが自動的に構成されます。更新をチェックしないようにツールを構成する場合は、ツールの設定機能を使用してデフォルトの動作をオーバーライドできます。

このツールがパッケージ リポジトリと対話するとき、システムの IP アドレス、オペレーティング システムの種類とバージョンなどの一部のシステム情報がリポジトリ サーバーに送信されます。詳細については、次を参照してください。

http://wikis.oracle.com/display/updatecenter/UsageMetricsUC2

インストールが完了したら、このコマンドを再実行できます。

今すぐ更新ツールをインストールしますか (y/n): y

プロキシ: システムのプロキシ設定を使用します。イメージのインストール: /home/frrole/glassfish4 pkg パッケージのインストール。2 パッケージをダウンロードしています。pkg (511 ファイル、6,237,937 バイト) をダウンロードしています。

Java ランタイム環境によって致命的なエラーが検出されました:

pc=0x00007ffb5b574920、pid=22316、tid=140717514012416 の SIGSEGV (0xb)

JRE バージョン: 7.0_21-b11 Java VM: Java HotSpot(TM) 64 ビット サーバー VM (23.21-b01 混合モード linux-amd64 圧縮 oops) 問題のあるフレーム: C [libdbus-1.so.3+0x26920]GConf エラー:構成サーバーに接続できませんでした: D-BUS エラー: メッセージには、現在未解決の既存のメソッド呼び出しと同じ応答シリアルがあります [スレッド 140717512959744 にもエラーがありました] dbus_watch_handle+0x1b20

コア ダンプの書き込みに失敗しました。コア ダンプが無効になりました。コア ダンプを有効にするには、Java を再起動する前に「ulimit -c unlimited」を試してください。

詳細情報を含むエラー レポート ファイルは、/home/frrole/glassfish4/hs_err_pid22316.log として保存されます。

バグ レポートを提出したい場合は、http: //bugreport.sun.com/bugreport/crash.jspにアクセスしてください 。ネイティブ コードの Java 仮想マシンの外部でクラッシュが発生しました。バグを報告する場所については、問題のあるフレームを参照してください。中止 (コアダンプ)

何が起こっているのかわかりません。どんな助けでも大歓迎です。


アップデート:

今、次のエラーが表示されます。

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

glassfish - Glassfish ダイジェスト認証

JAX-RS (Jersey + Jackson、JSON を生成するための Jackson) を使用して RESTful Web サービスを構築したいと考えています。

Glassfish 4.0 をサーバーとして、netbeans を IDE として使用しています。

Web サービスは正常に動作していますが、現時点では認証がありません。

そこで、パスワードを平文で送信する必要がないように、パスワードをハッシュするダイジェスト認証について考えています。さらに、データが暗号化されるように、https を使用したいと考えています。

理論はわかりました。しかし、Glassfish を使用して Netbeans でこれを行う方法がわかりません。

いくつかのチュートリアルが、glassfish の管理コンソールで何かをしているのを見ました。しかし、ネットビーンズだけでそれを行う方法はありませんか? アプリケーションをデプロイするときに作成される netbeans でレルムを定義できませんか?

レルムなどを作成した後。すべてのリソース (Web サービス) に、ある種の認証済みの「ユーザー」オブジェクトを挿入する必要があると思います。しかし、私は前にこれをしたことがありません。そして、ダイジェスト認証を設定する方法と、NetBeans を使用してこれを行うことができるインジェクションを説明する優れたチュートリアルを探しているので、よく理解できます。