セッションがあればそれを使う、なければ新しく作る
935 :
デフォルトの名無しさん:02/06/16 02:27
真
937 :
デフォルトの名無しさん:02/06/16 02:29
>>936 この場合、trueとfaulseの違いはわかる?
少しは自分で調べろよ
本を見るとか、Web で検索するとかさ。
やれやれ。
Parameters:
true - to create a new session for this request if necessary; false to return null if there's no current session
ほれ、これだろ。
つーか、そんなんわからないでプログラムが組めるのか?
>>945 組む分には組めると思われ。
周りが泣きを見るのだろうが。
>>946 SEでもPGでもなく、ただの大学生ですが何か?
たくさん釣れた。
つか、ネタでしょ。
放置放置。
952 :
デフォルトの初心者:02/06/17 23:01
あの、Javaはクライアントアプリいくつか作って遊んでたんだけど、サーバープログラムもやってみようかな?と思ってるのですが、まず初心者ならがに次の疑問があります、誰か教えてください。
1.1000人アクセスしたら?
たとえば1000人のユーザーが同時にアクセスしてきたら、1つのVMに1000個のサーブレットアプリが立ち上がるのだ・・と思っているのですが、これは正しい?だとすれば、相当なメモリを食いそうだし、そもそもVMがちゃんと安定して動くのか不安・・・。
2.VMが落ちたら?
なんらかの事情でVMが落ちた場合、どーなるんでしょう?
てゆーか、そういうこと実際あるでしょ?再起動の仕組みとかないと
困ると思うのですが、そこらへんはみんなどうしてるんでしょうか?
本買って嫁
>>952 Javaではそんな負荷に耐えられません。
順番待ちさせて、同時に処理する個数に上限を設けましょう。
VMが落ちたら・・・全てのセッションがアボートしてしまいます。
サーバーには自動的に再起動するなどの仕組みを用意しておくべきでしょう。
データの整合性を保つためにも、データはDBにストアしましょう。
しかし、極端な過負荷状況(主にメモリ)にしなければ、イマドキのVMは落ちません。
どの程度の負荷まで耐えられるか調べ、
それより十分低い状態で稼動するような仕掛けを用意するのがポイントです。
また、どんなに安定稼動していても、わずかなリソースリークが発生している
可能性があります。無用の心配を避けるためにも、週に一度はリブートする
ことをオススメします。
以上、Javaとはあまり関係の無い話題でした。sage。
>>952 以前試した。WinNT/2k で 510 スレッド、IBM AIX で 1020 スレッドを
超えたあたりから Java VM が不安定になり始める (というか同一インス
タンスに対する wait/notify/synchronized がこの数くらいから機能
しなくなる)。Tomat みたいなサーブレットコンテナは普通「最大受付
可能リクエスト数」が設定できるので、スレッド発生の上限も制御できる。
VM が落ちた時のリカバリーの仕組みは商用アプリケーションサーバレベル
になると付いてくる。たとえば WebSphere は Java VM のプロセスが
落ちても nanny (監視プロセス) が検知して勝手に立ち上げ直してくれる
(ホットスタンバってる奴に切り替えるよりは早い)。Tomcat 等を使うなら
別途仕組みを作りこまなきゃいけないだろう (多分)。
957 :
デフォルトの初心者:02/06/18 01:46
ご意見ありがとうございます。
サーブレットは1000人アクセスに耐えられないかぁ・・
ちょっと今面白い事を考えてて、URLをTVで公開して瞬間的に1000人程度の人に携帯電話やパソコンからアクセスしてもらって、そこでサーブレット動かす・・ってのを考えてるんだけど、Javaじゃキツそうだね。CGIにするか・・
>>957 CGI でも Java でも同じ。そもそも Apache がどれくらい上がるんだ?
普通そういうのは鯖 4〜 台にロードバランサーとかでクラスタ組む。
959 :
デフォルトの名無しさん:02/06/18 20:06
つか、CGIだったら、1000スレッドどころか1000プロセスだぞ?
CGIで1000プロセス…
>>956 ハードの構成は?全く関係無いとも言えないだろ。
961 :
デフォルトの名無しさん:02/06/18 22:42
>>958 へー、ロードバランサーかぁ、初めて知った、難しそうだね…
こいつらにTomcat突っ込んでDBを共有すればいいのか?
全然わからん・・・
>>961 ロードバランサの意味わかってるか?
クラスタの意味わかってるか?
きっとお前が思ってるのの300倍くらいは面倒だぞ。
963 :
デフォルトの名無しさん:02/06/19 01:35
>>962 今知ったばっかりで何にもわかってません、そんな難しいのかぁ・・
少しずつ勉強します。
>>960 これ以上は守秘義務だ。自分で手動かせ。
965 :
デフォルトの名無しさん:02/06/19 09:12
>>962 Tomcatでロードバランスすんのがそんなに面倒か?
彼のプロジェクトがデスマーチ化するのに、100000インスタンス!
見積もりが狂ってポシャるのに1000コネクション
969 :
デフォルトの名無しさん:02/06/21 05:00
クッキーをサポートしないブラウザがセッションIDを
維持する為に、JSPやサーブレットに書かれているフォームや
リンクなどのURLを response.encodeURL(path/to/xxx.jsp)
しますよね。
これをいちいち書くのは面倒くさくないですか?
PHPの場合、クッキーが有効になっていない場合、セッションIDを
PHPファイル内の全てのフォームやリンクのURLに自動的に
付加(つまり <a href="path/to/xxx.php"> を <a href="path/to/xxx.php?sid=123456">
に勝手に変換してくれる)する機能がありますが、
JSP、サーブレットにはこのような機能はないのでしょうか?
またはいちいち encodeURL() を書かなくてもいい方法が
あるのでしょうか?
>>969 商用なら普通ある機能だと思うが。
サーブレットコンテナはどこの使うとる?
971 :
デフォルトの名無しさん:02/06/21 06:41
>>971 Jakarta の Taglib 使えと言うとるのか、拡張タグライブラリ作れと
言うとるのか分からんが、その程度の機能なら勉強がてら拡張タグを
使ってみるのも良いと思う。あれは作り始めるとめちゃくちゃ面白い。
973 :
デフォルトの名無しさん:02/06/21 09:47
【サンがアプリケーション・サーバーを無償配布】
米サン・マイクロシステムズは19日(米国時間)、Javaベースのアプリケーション
サーバー『Sun ONE Application Server 7』のうち、『Platform Edition』を
無償配布すると発表した。5月の『Solaris 9』の発表の際にOSにバンドルする
ことを表明していたもので、Solaris以外のユーザーが無償利用できるようになる。
対応OSはSolaris、Linux、Windows、HP-UX、AIX。Platform Editionのほかに
『Standard Edition』『Enterprise Edition』があり、Platform Editionと
Standard EditionのSolaris版とWindows版は9月にリリース予定。サンは無償
配布することで、米マイクロソフトが進めている『.NET』に対抗する。
http://japan.cnet.com/News/Flash/2002/2002-0620-F-1.html?mm .NET に対抗っていうか HP のアプリケーションサーバ無料配布とか
BEA WebLogic, IBM WebSphere に対抗するシェア拡大策だろうな。
976 :
デフォルトの名無しさん:02/06/21 12:01
>>975 無料だからってSIベンダが使うかねぇ?
まだ高い方が利益抜けるからいいんじゃない?
>>976 そもそも Platform Edition なんて SIer 入れるほどの開発には不十分と
思うが。利益の薄い底辺を切り離したように見える。
Tomcat使うよりずっとましだろ?
>>970 Resin使ってるけど、そんな機能あるかなぁ??
>>972 Jakarta Taglibに
>>971 が言うような機能のTaglibは
ありましたっけ?
>>979 Resin は知らんが、WebSphere ならコードや JSP の書き換えなしに
セッションの維持方法を Cookie か URL Rewrite の選択ができる。
WebLogic や JRun もできたような記憶がある。
981 :
デフォルトの名無しさん:02/06/21 15:33
>>980 そりゃ便利だね。
でもまぁStruts使うなら、どっちにしろ、リンクタグ使うからなぁ。
982 :
デフォルトの名無しさん:02/06/21 15:55
>>980 WebSphereは、AEだとCookieとURL書き換えと両方同時設定できるが
AEsではどちらかになってしまった気が。
おっ、イングランド先制。
負けちゃったね・・・