5

背景: warblers 実行可能 war を使用して小さな JRuby-On-Rails-Application をデプロイしたいので、.war ファイルをドロップするだけで、誰もが .war ファイルを使用して実行できますjava -jar app.war

アプリケーションは sqlite3 を使用して一部のデータを保存し、production-db-file は war 内の WEB-INF/db にあります。

アプリが起動されるたびに、winstone は war を一時ディレクトリに解凍し、アプリケーションが 2 回目に起動されると、このセッション中に実行されたすべてのアクションが失われます (production-db が war ファイルから再度解凍されるため)。

では、アプリが起動するたびに同じdbファイルを使用するにはどうすればよいですか?

4

1 に答える 1

6

database.yml に絶対パスをハードコードするか、何らかのロジックを追加して、環境変数またはシステム プロパティから webapp の外部のパスを選択することができます。例えば:

production:
  db: <%= java.lang.System.getProperty('db') %>

起動:

java -Ddb=/path/to/db -jar app.war
于 2010-12-21T16:36:11.620 に答える