JavaサーブレットQ&A LV2

このエントリーをはてなブックマークに追加
セッションがあればそれを使う、なければ新しく作る
935デフォルトの名無しさん:02/06/16 02:27
>>934
ありがとう。trueの意味は何?
937デフォルトの名無しさん:02/06/16 02:29
>>936
この場合、trueとfaulseの違いはわかる?
少しは自分で調べろよ
>>938
どうやって調べるの?
本を見るとか、Web で検索するとかさ。
>>940
ここで調べてるつもりですがなにか?
やれやれ。
>>941
ちんちんむれむれ
Parameters:
true - to create a new session for this request if necessary; false to return null if there's no current session

ほれ、これだろ。
つーか、そんなんわからないでプログラムが組めるのか?
>>945
組む分には組めると思われ。
周りが泣きを見るのだろうが。
947933:02/06/16 17:24
>>946
SEでもPGでもなく、ただの大学生ですが何か?
たくさん釣れた。
>>947
このスレの人が迷惑してますが?
つか、ネタでしょ。
放置放置。
952デフォルトの初心者:02/06/17 23:01
あの、Javaはクライアントアプリいくつか作って遊んでたんだけど、サーバープログラムもやってみようかな?と思ってるのですが、まず初心者ならがに次の疑問があります、誰か教えてください。

1.1000人アクセスしたら?

 たとえば1000人のユーザーが同時にアクセスしてきたら、1つのVMに1000個のサーブレットアプリが立ち上がるのだ・・と思っているのですが、これは正しい?だとすれば、相当なメモリを食いそうだし、そもそもVMがちゃんと安定して動くのか不安・・・。

2.VMが落ちたら?

 なんらかの事情でVMが落ちた場合、どーなるんでしょう?
てゆーか、そういうこと実際あるでしょ?再起動の仕組みとかないと
困ると思うのですが、そこらへんはみんなどうしてるんでしょうか?
本買って嫁
>>952
Javaではそんな負荷に耐えられません。
順番待ちさせて、同時に処理する個数に上限を設けましょう。
VMが落ちたら・・・全てのセッションがアボートしてしまいます。
サーバーには自動的に再起動するなどの仕組みを用意しておくべきでしょう。
データの整合性を保つためにも、データはDBにストアしましょう。

しかし、極端な過負荷状況(主にメモリ)にしなければ、イマドキのVMは落ちません。
どの程度の負荷まで耐えられるか調べ、
それより十分低い状態で稼動するような仕掛けを用意するのがポイントです。

また、どんなに安定稼動していても、わずかなリソースリークが発生している
可能性があります。無用の心配を避けるためにも、週に一度はリブートする
ことをオススメします。

以上、Javaとはあまり関係の無い話題でした。sage。
956 :02/06/17 23:54
>>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でロードバランスすんのがそんなに面倒か?
>>965
彼には未知の領域なんだよ
彼のプロジェクトがデスマーチ化するのに、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
>>969
JSPを利用するなら<a></a>を使わずに、
リンク用のカスタムタグを利用することで対処する。
<html:link href="http://www.2ch.net">http://www.2ch.net</a>
>>971
Jakarta の Taglib 使えと言うとるのか、拡張タグライブラリ作れと
言うとるのか分からんが、その程度の機能なら勉強がてら拡張タグを
使ってみるのも良いと思う。あれは作り始めるとめちゃくちゃ面白い。
973デフォルトの名無しさん:02/06/21 09:47
>>972
どちらでも好きな方で

【サンがアプリケーション・サーバーを無償配布】
米サン・マイクロシステムズは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使うよりずっとましだろ?
979969:02/06/21 14:55
>>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ではどちらかになってしまった気が。

おっ、イングランド先制。
負けちゃったね・・・