Grizzly の検索結果:

そして例外処理へ

…/search?q=Grizzly https://grizzly.java.net/ こちらはこのブログの検索リンクと本家サイトです。相当前の日付ばかりですけどGrizzlyというのにしばらくハマってました。調べてみると今でもがんばってるみたい。ただしググっても「grizzly java」とか「grizzly nio」とかやっても本家以外は古い日付ばかりです。ブレイクせずに今に至るかなと。隠れて組み込まれてどっかですごいことになってるのかもしれないけど。うん、このときに作り…

-Kvasirビルド

…す(WEBコンテナはGrizzlyベースのUnServletを考えています)。Kvasir-baseとSeasar2の違いは、Kvasir-baseにはDIxAOP機能がなく、Seasar2にはライフサイクル管理がないので、組み合わせて使うと吉と思っています。 でだ、私は最近のデカいスタックが本当に好かん。フロントエンドからバックまで一貫にひとつのディストロで動くのはいいんだけど、スタック間の依存性などを注意深く作って、それこそディストロには細心の注意をはらってくれないかなと…

-何を拡張したらよいか

…が理解できました。 Grizzlyはいろんな拡張ポイントがあるのですが、一番簡単なのはcoyote.Adapterを実装することです。たぶんこれが想定されている一番わかりやすいもので、TomcatはこのAdapterからServlet#service()へ呼び出しを行っていくので、GrizzlyをTomcatに埋め込むとそのままNon-Blockingなパワーが得られるという仕組みが出来上がってます。Tomcatへの埋め込み部分が見当たらないのでいくらか書かないとダメかもしれ…

-Sync/Async

…るようです。 同時にGrizzlyではSync/Asyncの違いも対応しようとしています。処理の待ちうけならず、処理そのものの時間がかかる場合に非同期実行を行うというものです。いつ返ってくるかわからない他サーバとの連携結果を示すなど、そんな際にAsyncの作りを検討する。。。普通のサーバはBlockingソケットでSyncの処理実行をしますが、Non BlockingソケットだったりAsyncだったり、その両方を満たすサーバが作れることをGrizzlyは目指しているようです。

-DirectByteBufferのView

Grizzlyではリクエスト電文を読むところなどでnioで登場したDirectByteBufferを利用しています。 DirectByteBufferはJavaVMのヒープ外の、OSに近いところでのメモリ確保の方法です。デカいメモリブロックに高速にアクセスすることができます。しかし、じゃあ全部DirectByteBufferにしたらよいかというとそれは無い。なぜかというと、このVM外でやるメモリ確保処理の時間コストが大きいのです。Javaヒープでメモリブロックを確保するほうが…

-ThreadLocal再考察(1)

…上でも大丈夫かなと。Grizzlyの中にTaskという概念/インターフェイスがありますが、以下のとおりです。 接続処理 Grizzly:AcceptTaskというインターフェイスを実装する nio:OP_ACCEPTというイベント名でSelector(nioクラス名。いわばイベントキュー)に保存される 動作:クライアントからの接続要求に応答する。 読み込み処理 Grizzly:ReadTaskというインターフェイスを実装する nio:OP_READ 動作:クライアントから到着…

-Coyoteは避けられない

Coyoteは避けるの難しいみたい。というのも、食い込んでるし、GrizzlyはSSL処理の実装にCoyoteのそれを利用しているし。Coyote Adapterの実装ということになりそう。さて、そろそろブートストラップのやり方考えますかね。 追記: ブートストラップはKvasir-coreベースでいけるか?!

-ThreadLocal全滅?

…nd enable Grizzly to server more that 10 000 concurrent users with only 30 threads. 前後の事情も込みで意訳 リクエストが完了しても、keep-alivedだったら、スレッドは解放してIOイベントキューにNIOソケットをぶち込みます(ちょっとNIOのSelectionKey周辺の説明を乱暴に省略してます。こう訳しちゃうと本当はちょっと正しくない)。 リクエストが完了してなければ、スレッドを解放し…

-put Apache in front of Java.

…e/2005/06/grizzly_an_http.html But as other Java based HTTP Connector, scalability is always limited to the number of available threads, and when keep-alive is required, suffer the one thread per connection paradigm. Because of this, scalab…

-Grizzlyをとってくるpom

…tory> <id>grizzly</id> <name>grizzly</name> <url>https://maven-repository.dev.java.net/nonav/repository</url> <layout>legacy</layout> </repository> </repositories> <dependencies> <dependency> <groupId>grizzly</groupId> <artifactId>grizzly</…

-SimpleGrizzly

Grizzlyでつくる出来る限りシンプルなHTTPサーバ。 package org.ashikunep.iyomante; import java.io.IOException; import com.sun.enterprise.web.connector.grizzly.SelectorThread; import com.sun.enterprise.web.connector.grizzly.standalone.StaticResourcesAdapter; pub…

-馴染みないパッケージ

…間でつらつら見ていてGrizzlyのなんたるかは分かってきた。本当にnio周りに特化したフレームワークなので、そのへんのギミックは他所で見たこと無いものも、ちらほら見ることができます。 一方で特化しているからこそ、Grizzlyはブートストラップもなければ、アプリケーションとしてのコンフィグ系への配慮も無し。かろうじてJMXに対応するようなそぶりは見せてますが。。。Seasar2を使ったブートストラップの手堅いヤツがほしいな。GeronimoとかGlassFishとかHive…

-Grizzlyの可能性

GrizzlyはJavaによるWebアプリケーション構築のほぼ最下層、VMやコンパイラのひとつ上のところにはまるフレームワーク(らしい)です。すでに注目されていて、雰囲気かなり流行る(もちろんごく一部で、ですが)。 SUN主導でやってるJavaEEのフル実装、GlassFishの傘下でやってましたが、Jetty6で採用されました。Jettyは結構いろんな商用/OSSのアプリケーションサーバで組み込まれています。JBossもTomcatのものに加え、Jettyのものも用意してい…

-UnServletたるもの

…rvletのSessionなんてものはCookieやリクエストURIにセッションIDを仕込んで、背後のリソースからMap<String, Object>を取り出しているだけだし。HTTPの仕様には無い考えだからね〜。 しかし全部を丸々やるのは辛いなーというところで、最下層のフレームワークはあるんですよ、と。それがGrizzly(でも、まだ見切ってない)。今つくってるWebDAVのサーバはこれの上で直接つくることにしようかなと。その中でどうやりたいかが出てくるでしょう。たぶん。

-Grizzly

https://grizzly.dev.java.net/ GlassFishのソースリポジトリツリーからGrizzlyだけ取り出してビルドするのが手間がかかるので(java.netのCVSが使い方が良くなくて、膨大な数のプロジェクトが並んでるので一覧するのも大変)まいってたところ、Grizzlyの新トップページを眺めて解決。Jetty6で使われているじゃないですか。手元のJetty6インストールフォルダを探すとありましたよ。Grizzlyのjar。cometも入ってました。