Eclipse BIRTレポートツールをラップし、winsw経由でWindowsサービスとして実行するSpringブートアプリケーションがあります。エンジンによって生成されたチャートを含むレポートがレンダリングされると、Springブートは、作成したフォルダに画像ファイルをWindows/Temp
ディレクトリに保存します。このフォルダとその内容は、スタートアップを超えて保存されますが、これは望ましいものではありません。SpringブートアプリケーションでBIRTによって作成されたイメージファイルの場所を変更する方法
アプリケーションは、ソフトウェアパッケージのすべてのインストールに存在する定義済みの場所に存在するデータフォルダに依存します。そのため、理想的な状況は、パッケージのデータフォルダに簡単に管理できるフォルダを作成することです。これを実現する方法はありますか(埋め込みTomcatサーバーがファイルを見つけて提供できる方法が望ましい)?
編集:問題の画像は、プロセスをレンダリングするのReportEngineによって生成されたので、私はそれがBIRTのものではありませんTomcatのことだと思うが、私はserver.tomcat.basedir=path/to/directory
を追加したことを確認すべきである@Magnus
により応答の結果を更新しました私のapplication.properties
ファイルにそれでも、Windows/Temp
に書き込みます。
しかし、この返信は私には考えられました.BIRTのEngineConfigにはsetTempFolder
メソッドがあります。目的のフォルダ(プロパティファイルのserver.tomcat.basedir
の値)を指すように設定すると、一時フォルダでBIRTが動作しますが、生成されたイメージはまだWindows\Temp
ディレクトリに保存されます。
編集:更新2
私はEngineConfigでbirt.viewer.working.path
プロパティを設定し、それがReportDesignHandle(または多分ReportRunnable)から値を取得することによって設定されたことを確認することができました。変更された値を使用すると、ReportEngineは適切なディレクトリで作業を行いますが、画像はWindows\Temp
フォルダに保存されます。 java.io.tmpdir
プロパティをオーバーライドしても何も起こりませんでした。
編集:アップデート3
作品のこの種.. Windows\Temp
で生成された画像用のフォルダを作成していないアプリケーションでHtmlRenderOption結果の画像フォルダの場所を設定する(イェーイ!)。しかし、それはHtmlRenderOptionで指定された場所に画像を置いていないので(boo!)、どこの画像を見るかは分かりませんので、そのような画像ファイルを定期的に整理することができます。
短編小説を参照してください、動作しませんでした。長い話が元の投稿に編集されました。 –
@TheHeadRush私は答えを更新しました。 – Magnus
更新された結果。 –