問題タブ [jakarta-ee]
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 - サーブレットがコンパイルできるように、EclipseにJava EE jarファイルをどのように認識させますか?
サーブレットをコンパイルするために、JavaEEバージョンのEclipseをセットアップしています。Java EE jarファイルが見つからないため、Eclipseが「HttpServlet」を解決できないと言う問題があります。
私はWindowsXPを使用しています。私はすでにTomcat6.0を稼働させています。最も簡単な解決策は、Tomcatインストールのservlet-api.jarファイルにリンクすることだと思います。
これをWindowsのCLASSPATH環境変数に追加しました。これで、次のようになります。。; C:\ Program Files \ Java \ jre1.6.0_04 \ lib \ ext \ QTJava.zip; C:\ Program Files \ Apache Software Foundation \ Tomcat 6.0 \ lib \servlet-api.jar
それはうまくいきませんでした。私は何か間違ったことをしていますか?
最善の解決策は何ですか?
java - Java EE 内から複数のスレッドを起動するにはどうすればよいですか?
呼び出しを Tomcat にスケーリングする必要があり、内部でスレッドを起動することが提案されています。誰かがこれを行う必要がありましたか? もしそうなら、彼らはどのような解決策を思いつきましたか?
java - Java EE、jboss などの学習
私は 10 年間、Swing と JDBC を使用して「普通の Java オブジェクト」プログラミングを行ってきましたが、それはかなり得意だと思っています。しかし、私は 2 週間以内に JBoss を使用する新しい仕事を始めます。仕事を始める前に、これらすべてのことを学び始めたいと思っています。良いリソースとは?オンライン チュートリアル、書籍、電子書籍など、提案できるものなら何でも。特にプレーンな Java の基本を最初に教えようとしないもの。
design-patterns - ロードバランサーのボトルネックを防ぐために Web 層をシャーディング (原文のまま!) しますか?
完全にステートレスにできない大規模な Web サイトは、どのようにして Web 層で極端なスケーラビリティを実現するのでしょうか?
eBay や Amazon のようなサイトは、ショッピング カートなどを持っているため、完全にステートレスにすることはできません。ショッピング カート内のすべてのアイテムを URL にエンコードすることも、すべてのアイテムを Cookie にエンコードして接続ごとに送信することもできません。そのため、Amazon は、送信される Cookie にセッション ID を格納するだけです。したがって、eBay と Amazon の Web 層のスケーラビリティは、すべてを安らかに URL にエンコードできる Google 検索エンジンのスケーラビリティよりもはるかに困難であることを理解しています。
一方、eBay と Amazon の両方が、非常に大規模にスケーリングしました。噂によると、eBay には約 15000 の J2EE アプリケーション サーバーが存在します。
これらのサイトは、極端なスケーラビリティとステートフルネスの両方をどのように処理しているのでしょうか? サイトはステートフルであるため、単純な DNS バランシングを行うことは現実的ではありません。したがって、これらの企業は、そのサイトの単一の IP アドレスの背後にある唯一のデバイスである、BigIP、Netscaler などのようなハードウェア ベースのロード バランサーを持っていると想定できます。このロード バランサーは、SSL を復号化し (エンコードされている場合)、Cookie を検査し、その Cookie のセッション ID に応じて、どのアプリケーション サーバーがその顧客のセッションを保持しているかを判断します。
しかし、単一のロードバランサーでは何千ものアプリケーション サーバーの負荷を処理できないため、これではうまくいかないのでしょうか? これらのハードウェア ロード バランサーでさえ、そのようなレベルには拡張できないと思います。
また、負荷分散はユーザーに対して透過的に行われます。つまり、ユーザーは別のアドレスに転送されることはありませんが、すべてのユーザーがまとめて www.amazon.com にずっと滞在します。
だから私の質問は次のとおりです。Web層の透過的なシャーディングのようなものを達成できる特別なトリックはありますか(一般的に行われているデータベース層ではありません)? Cookie が検査されない限り、どのアプリケーション サーバーがこのセッションを保持しているかを知る方法はありません。
編集:サイトをスパイダーしてブックマークする必要がある場合は、透明性だけが必要であることに気付きました。たとえば、サイトが飛行機や電車のチケット予約システムのような単なる Web アプリである場合、ユーザーを異なる URL の背後にある Web サーバーの特定のクラスター (a17.ticketreservation.com など) にリダイレクトするだけで問題はありません。この特定のケースでは、それぞれが独自のロード バランサーの背後にあるアプリケーション サーバーの複数のクラスターを使用するだけで実現可能です。興味深いことに、この種の概念を使用しているサイトは見つかりませんでした。 編集:この概念がhighscalability.comで議論されているのを見つけました。この議論では、Lei Zhu の記事が参照されています。「Web 2.0 アプリケーションのクライアント側負荷分散」 . Lei Zhu は、クロス スクリプティングを使用して、このクライアント側の負荷分散を透過的に行います。
ブックマークや xss などの欠点があるとしても、これは特定の特別な状況、つまりスパイダーやブックマークを必要としないほとんどコンテンツのない Web アプリケーション (チケット予約など) には非常に良いアイデアのように思えます。システムまたはそのようなもの)。その場合、ロード バランシングを透過的に行う必要はありません。
www.ticketreservation.com から a17.ticketreservation.com へのリダイレクトなど、メイン サイトからサーバーへの単純なリダイレクトが存在する可能性があります。そこから、ユーザーはサーバー a17 に留まります。a17 はサーバーではなく、クラスター自体であり、冗長性を実現できます。
最初のリダイレクト サーバー自体が、ロード バランサーの背後にあるクラスターである可能性があります。このようにして、www の背後にあるプライマリ ロード バランサーは各セッションの開始時に 1 回だけヒットするため、非常に高いスケーラビリティを実現できます。
もちろん、別の URL へのリダイレクトは非常に厄介に見えますが、単なる Web アプリケーション (スパイダー、ディープ リンク、またはディープ ブックマークの必要がない) では、これはユーザーにとって視覚的な問題に過ぎないのでしょうか?
リダイレクト クラスタは、アプリケーション クラスタの負荷をポーリングし、それに応じてリダイレクトを適応させることができるため、単なる負荷分散ではなく、バランスを取ることができます。
java - Javaで最も単純で依存度の低いAOPフレームワークはどれですか?
AOPフレームワークを使用したいのですが、2つの制約があります。
私が選んだフレームワーク
かなり独立している必要があります。これをレガシーコードベースで使用する予定であるため、commons-logging-XXX.jarのような予想される依存関係をcommons-logging-newest.jarにアップグレードすることはできません。
かなり十分に文書化されている必要があり、理解して統合するには複雑すぎてはなりません。
jakarta-ee - jBoss 4.2でejbを検索するにはどうすればよいですか?
簡単なj2eeアプリケーションがあります。
J2EE1.4に準拠したjBoss4.2.2に、ejb3jarデプロイヤーを使用してデプロイしています。したがって、現時点では、サーブレットで@EJBアノテーションを使用することはできません。通常の1.4j2EEアプリでは、web.xmlの要素を使用できますが、ejbはv3であるため、インターフェース<ejb-local-ref>
がありません。プラットフォーム固有のJNDIルックアップに頼らずに<local-home>
、サーブレットからejbをルックアップするJava EE準拠の方法を誰かが提案できますか?
java - リモートおよびローカルインターフェイスを備えたEJBを使用したビジネスインターフェイスパターン
ローカルインターフェイスとリモートインターフェイスを備えたEJB(セッションBean)でビジネスインターフェイスパターンを使用するにはどうすればよいですか?
java - Eclipse で .WAR ファイルに含めるものを指定する方法
Java アプリケーションを開発する Eclipse では、カスタム Ant スクリプトによって生成されるいくつかのクラス ファイルがあります。これは自動的に行われ、/WEB-INF/classes のエクスポート/公開の依存関係として設定されます。発行すると問題なく発生しますが、.WAR にエクスポートすると、これらのファイルが失われます。これを自動化する方法はありますか?
jakarta-ee - jBoss で context-root を一意化するにはどうすればよいですか
単純な j2EE ear があるとします。
同じ耳を 2 回展開したいので、耳の名前を変更します。
ファイルは次のMETA-INF\application.xml
ようになります。
展開すると衝突が発生し、両方のアプリが にマウントしようとしhttp://localhost:8080/baz
ます。耳の名前を context-root の前に付けて取得する方法はfoo/baz
ありbar/baz
ますか?
java - JBoss/EJB vs 対称 DS
私はちょうど始まろうとしているプロジェクトに取り組んでいます。別のプロジェクトで忙しかったので、同僚が先に進み、新しいプロジェクトの仕様に取り組み始めました。私が入ったとき、彼らは単純な SQL で永続化を行うことを選択したばかりでしたが (ただし、Hibernate を追加するという私の提案をすぐに受け入れました)、私が聞いたことのないSymmetric DSというツールを使用してデータ複製を実行する必要があると主張しました。
私が知る限り、JBoss サーバー (現在の計画では Tomcat のみを使用する予定です) で EJB3 を使用すると、すべてのトランザクション/レプリケーションの問題が処理され、多くの頭痛の種から解放されるのではないかと心配しています。
皆さんは、このSymmetric DSをどのように見ていますか? (私はそれに対して何も反対していないことに注意してください.JBossが長い間存在し、非常に立派な評判を持っていることを知っているだけです)
2 つのソリューションをどのように比較しますか?
ありがとう!
EDIT : ところで、SymmetricDS は重複した主キーをどのように処理しますか? つまり、データベース A に行を追加し、データベース B に別の行を追加すると、両方ともおそらく同じ主キーで追加されますよね? 競合を避けるために、SymmetricDS はそれをどのように処理しますか? このフォーラムでの議論は、最初はその一部に対処しているように見えましたが、私の質問にはまったく答えていません。