2011-09-01 9 views
0

問題の解決策を見つけようとしたときに問題が発生しました。 私はインターネットからダウンロードしてSchemaFactoryを作成するxml Schemaを持っています。 コードは次のようになります:戦争のデプロイからオブジェクトをシリアル化

SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); 

問題は、それは私がこのオブジェクトをシリアル化し、それをデシリアライズしたいので、それをロードするために、時間の降下量を要することです。 私は戦争の中でファイルを作成することさえできませんでした。 誰かが私を助けることができたらうれしいです。 ありがとう、 Pavel

+0

シリアル化されたオブジェクト(データ)を* .war(アプリケーション)に書き込むことは悪い考えです。 webappの作業領域を使用する方が良いです。 –

答えて

0

実行中の戦争で新しいファイルを動的に保存することはできません。ただし、シリアル化されたオブジェクトをファイルに格納するために外部ディレクトリを使用することもできますし、データベースに格納することもできます。

+0

私の意図は、Webアプリケーションの作業領域を使用することでした。 しかし、どのようにパスを動的に取得するのですか?私はそれがまだどこに格納され、解凍されるのかはわかりません。 – Pavel

+0

webappには必ずしも作業領域がありません。アプリケーションサーバークラスローダーは、すべてをwarファイルにパックしておくことができます。コンテナは、あなたが望むものを格納できる一時ディレクトリを提供しなければなりません。 ServletContext.getAttribute(ServletContext.TEMPDIR)を使用して取得します。 –

+0

@Pavel:メモリ内のSchemaFactoryをキャッシュできません - 'servletContext.setAttribute(...);'? – home

関連する問題