問題タブ [glassfish-4]
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.
apache - James MailServer を使用して Glassfish に表示される MailingSystem を作成する
JavaMail および JFA API も使用して、ローカル メールサーバー (Apache James Mailserver) を使用してメール システムを作成しようとしています。そのような目標を達成するための理想的な方法について考えている人はいますか?
jakarta-ee - GlassFish 4 サーバーで Java クラス (サーブレットではない) を実行する
次の 2 つの質問があります。
GlassFish 4
Eclipse Juno などを介してサーバー上で Java クラス (サーブレットや JavaBean ではない) を開始する方法は?起動時に実行する適切な方法は何ですか?
機能を使用し、サーバー上で実行する必要がある 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
にインスタンス化し、サーバーの存続期間中実行させる必要があります。
基本的には、キューを監視し、さまざまな送信者からの要求に応答するために起動する必要があるメッセージ リスナーです。
jakarta-ee - GlassFish 4 Jersey 2 RESTful Web アプリケーションへの JDO PersistenceManager インジェクション
私は、JDO をインジェクト (または最適な初期化) する最もクリーンな方法を探しています。JDOPersistenceManager
および/またはPersistenceManagerFactory
JAX-RS / Jersey 2 および EJB 3.1 Lite に基づいた RESTful Web アプリケーション リソースに、できれば余分な依存関係をあまり追加せずに行う方法を探しています。このプロジェクトは DataNucleus を使用し、Maven 3 でビルドされています。
ここに私が見つけたいくつかの指針があります。おそらく、これらのいくつかをすでに試して、どのアプローチが最も効果的かを見つけたかもしれません。
- 書く
Provider<PersistenceManager>
- サーブレットの作成
Filter
- http://www.datanucleus.org/products/datanucleus/jdo/pmf.html
- http://blog.yanivkessler.com/2010/06/lightweight-jdo-persistence-filter.html
- JDO永続マネージャの使用方法は?
- グーグルガイド
現在のソリューションは JPA に基づいており、インジェクションは通常どおり機能します。次のコードは簡略化されており、残念ながら元のコードを投稿できません。
でmain/java/project/ws/rs/TestResource.java
:
上記でわかるように、永続的な JAX-RS リソースには@Stateless
EJB のアノテーションが付けられています。
すべての Java EE と Jersey の依存関係は、私のターゲット プラットフォームである GlassFish 4.0 によって提供されます。DataNucleus ライブラリは、.NET の実行時にデプロイ可能な war アーティファクトに含まれていますWEB-INF/lib
。
プロジェクトには、main/resources/META-INF/persistence.xml
ファイルによって記述された標準の持続性ユニットがあります。
(簡単にするために、XML 名前空間とスキーマ参照は省略されています。)
デプロイメント記述子は次の場所にありmain/webapp/WEB-INF/web.xml
ます。
目標
上記のようなクリーンな依存性注入を失うことなく、JPA から JDO に切り替えたいと考えています。もちろん、理想的な解決策は上記の を単に置き換えることと似てEntityManager
いPersistenceManager
ますが、それを達成するにはどうすればよいですか、それとももっと良い方法がありますか? この目的のために他の方法がより効率的であれば、注入である必要はありません。
私が切り替える理由は、DataNucleus の助けを借りて非 SQL 永続性も使用できるようにし、完全な ORM 実装を Java EE Web アプリケーションで利用できるようにするためです。
これに興味を持ってくれる人は他にもたくさんいると思います。何か案は?
編集: 上記のような Web アプリが a への参照を取得する最も効率的な方法を見つけることPersistenceManager
が、この質問のポイントです。
JPAでは、インジェクションによって行われます。Java EE 仕様とアプリケーション サーバーが JDO でこれを直接サポートしていないことは明らかです。そうでなければ、私たちはこれを求めません。そのため、私たちは、Web アプリに対して最もクリーンで「最も展開しやすい」方法を追求しています。
json - GlassFish 4.0 / Jersey 2.0 - JsonStructureBodyReader の NoClassDefFoundError
私は開発システムでGlassFish 4.0 R89を使用しており、JAX-RSを使用しています。単純な呼び出しが機能するので、XML で表現されたシリアル化されたオブジェクトを取得できます。コーディングプロセスにも関与する人のマシンにそれをインストールする必要があり、ノートブックでも試してみました-同じ結果が得られました-クラス JsonStructureBodyReader に対して NoClassDefFoundError がスローされます (ただし、 'JSON を使用していません。試してみましたが、サーバーはコンテンツ タイプの正しいヘッダーを含む XML を確実に返します)。
プロジェクトを間違ってインポートしたのではないかと思いましたが、動作中のバージョンと動作していないバージョンのファイルを比較した後、その原因となる可能性のある違いはないように思われることに気付きました (プロジェクトはより多くのまたは両方のマシンで同等以下)。
GFのバージョンに問題があるのではないかと思ったので調べてみましたが、インストールは両方ともR89です。ただし、特にバイナリ比較を行う場合、GFs modules/ ディレクトリの jar は異なるようです。
誰もその問題を経験したことがありますか?
完全なスタックトレースは次のとおりです。
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
しかし、私はまだエラーが発生しています。今回は違います。
私が見逃しているものはありますか?
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 を使用できるかどうかわかりません。
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を実装していないと思います..しかし、なぜそれについてだけ不平を言っているのですか!:@)
提供されるヘルプは大歓迎です!!
乾杯、
別のスタック オーバーフロー オタクが助けを求めています。:)
java - Jersey 2.2 を Glassfish 4 にアップグレードするには?
次の jar ファイル[gf_home]/glassfish/modules
をversion 2.2
- jersey-bean-validation.jar
- jersey-client.jar
- ジャージ-common.jar
- jersey-container-grizzly2-http.jar
- jersey-container-servlet-core.jar
- jersey-container-servlet.jar
- jersey-gf-cdi.jar
- jersey-gf-ejb.jar
- jersey-media-json-jackson.jar
- jersey-media-json-jettison.jar
- jersey-media-json-processing.jar
- jersey-media-moxy.jar
- jersey-media-multipart.jar
- jersey-media-sse.jar
- jersey-mvc-connector.jar
- jersey-mvc-jsp.jar
- ジャージ-mvc.jar
- jersey-server.jar
をクリアした後[gf_home]/glassfish/glassfish/domains/domain1/osgi-cache
、グラスフィッシュを起動しようとしますが、運がありません。さらにアドバイスをお願いできますか?