私は、トルクボックス(www.torquebox.org)のmod_xsendfileに似た機能のサポートを実装しようと努力しました。 Torqueboxは、基本的にはJBoss AS 7の上にコードの束です。私の努力は、JBoss AS 7でsendfileを動作させるのと同等です。Jboss AS7、APRネイティブコネクタとsendfile
ここでの主な問題は、おそらく私のJBossに対する混乱ですが、すべての私のグーグルのリソースを消耗時間は、私はこの、sendfileのは、JBossでサポートされて理解し、このことは、JBossのWebネイティブコネクタを使用することにより7.
としてどのように機能するかを実際にを知っているそこに誰かがあることを信じてする必要があります(http://www.jboss.org/jbossweb/downloads/jboss-native-2-0-10)、すなわちAPR httpコネクター。
他の人たちの魅力(https://community.jboss.org/message/614790)のように見えるAS 7にこれらをインストールするのに時間を費やしてしまった後、grep'ing私のローカルJBoss dirは私に言います。これらのネイティブコネクタはappearently私の場合は7として、必要なDLLが
% JBOSS_HOME%以下の\モジュール内に配置されているに同梱されている\ orgの\ JBossの\だから、メイン\ libに\ WIN-x86_64の
\ \ウェブなど壮大な失敗、既にそこにあるものをインストールしようとする。 私standalone.xml設定ファイルもこのネイティブコネクタが
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host">
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<virtual-server name="default-host" enable-welcome-root="false">
<alias name="localhost"/>
<alias name="example.com"/>
</virtual-server>
</subsystem>
は、デバッグにすべてのログレベルを切り替えると、ログを検査に使用されている明らかに点検するログメッセージ
スタンドアロン/ログ/ server.log.2012を示し-02-10:324:23:12:17,964 INFO [org.apache.coyote.http11.Http11AprProtocol](MSCサービススレッド1-5)http-127.0.0.1-127.0.0.1-8080のCoyote HTTP/1.1を開始します。
Http11AprProtocolは、APR httpコネクタが使用されていることを示します。しかし、Web上の多くの記事では、次の行も表示する必要があると述べています。
org.apache.catalina.core.AprLifecycleListener init情報:APR機能:IPv6 [true]、sendfile [true]、accept filters [false ]、ランダム[真]。
ログレベルに関係なく、AprLifecycleListener行は決して表示されません。
これを確認すると、現在APR httpコネクタが使用されているようです。
ドキュメントによると、私は
public class Sendfile extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
if(Boolean.TRUE == request.getAttribute("org.apache.tomcat.sendfile.support")){
// Send all the files!!
}
else{
throw new ServletException("BOOM!");
}
}
}
しかし、誰が動作するように次のサーブレットを得ることができます。 org.apache.tomcat.sendfile.support属性がnullで、(サポート属性を無視して)ファイルを送信するためのhttpヘッダーを設定し、残りの必要なsendfile属性を設定しようとすると、ブラウザはファイルを受信していると考え、データは転送されず、接続はハングアップしています。
質問を終えるには、必要なAPRネイティブコネクタが使用されているように見えますが、sendfileはデフォルトで有効にする必要がありますが、サーバーは何をしようとしているのかわかりません。
どのように進めますか?
正確に正しいです。私は答えをJean-Frederic Clereに尋ねた。だから完全に確認された。 – Parbst