アプリケーションをJBoss 4からJBoss 6にアップグレードします。JBoss vfs:/ URLを開くことができないのはなぜですか?
私たちのアプリケーションのいくつかは、異常な方法でクライアントに配信されます。アプリケーション内でjarファイルが検索され、サーブレットでは、特定のサポート機能を実行するためにクライアントがそれらを抽出します。
JBoss 4では、これらのjarファイルをclassloaderで検索し、jar:// URLを見つけてjarファイルを読み込んでその内容をクライアントに送信します。
JBoss 6では、ルックアップを実行するときにvfs:/ URLを取得します。私はこれがorg.jboss.vfsパッケージにあることを理解しています。残念ながら、このURLでopenStream()を呼び出してストリームから読み込むと、すぐにEOFが返されます(read()は-1を返します)。
何がありますか?このURLが参照するリソースを読めないのはなぜですか?
JBoss VFS APIを介してファイルを開くために、基礎となるVFSパッケージにアクセスしようとしましたが、ほとんどのAPIがプライベートであるように見えます.VFSから変換するルーチンが見つかりませんでした: VFS VirtualFileオブジェクトへのURLなので、どこにも行けませんでした。
私はJBoss内でディスク上のファイルを見つけようとしていますが、その方法はアップグレード時に非常に失敗する可能性が非常に高いと思います。
以前の手法では、Java Web Startを使用してjarをクライアントに配布し、Java Web Startのキャッシュ内でそれらを検索して抽出していました。しかし、それはキャッシュのレイアウトが変更されたため、Javaのすべてのマイナーアップグレードに敗れました。
org.apache.commons.vfs。*;この輸入はこの点でも役立ちます。 –
JBoss VFSとApache VFSの名前は同じですが、製品が異なると申し訳ありません。 Apache VFSクラスを使用することは、JBoss VFSの問題にはあまり役立ちません。また、Apache VFSのドキュメントを使用することはあまり役に立ちません。そしてJBossはVFSをうまく文書化していないので、あなたが見つけるドキュメントのほとんどはApacheのためのものです。 – skiphoppy