でページを保存することはできません、私は私の桟橋ログに次のエラーを見ることができます:ウィケット:私は桟橋サーバー上の私のApache Wicketのアプリケーションを展開し、毎回私はWicketのページを開くID
WARN - DiskDataStore - Cannot save page with id '2' because the data file cannot be opened.
ERROR - DiskDataStore - /tmp/jetty-0.0.0.0-80-tourney.war-_tourney-any- /wicket.Tourneys-filestore/2gs9iqj4zdjtkerejipyu0co/data (No such file or directory)
java.io.FileNotFoundException: /tmp/jetty-0.0.0.0-80-tourney.war-_tourney-any-/wicket.Tourneys-filestore/2gs9iqj4zdjtkerejipyu0co/data (No such file or directory)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:233)
at org.apache.wicket.pageStore.DiskDataStore$SessionEntry.getFileChannel(DiskDataStore.java:410)
at org.apache.wicket.pageStore.DiskDataStore$SessionEntry.savePage(DiskDataStore.java:328)
at org.apache.wicket.pageStore.DiskDataStore.storeData(DiskDataStore.java:176)
at org.apache.wicket.pageStore.AsynchronousDataStore$PageSavingRunnable.run(AsynchronousDataStore.java:348)
at java.lang.Thread.run(Thread.java:636)
どれでも何がうまくいかなかったのか? Unixの権利は正しく設定されています。
public class InitListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
final String workDir = sce.getServletContext().getInitParameter("workDirectory"); // Context param with the temp dir path
sce.getServletContext().setAttribute("javax.servlet.context.tempdir", file); // sets the temp dir (Wicket will read it from here)
}
@Override
public void contextDestroyed(ServletContextEvent sce) {}
}
そして、これがneccesary web.xmlのエントリです:
ここ<context-param>
<param-name>workDirectory</param-name>
<param-value>E:\wicket</param-value>
</context-param>
<listener>
<listener-class>es.cyum.cruekti.wicket.InitListener</listener-class>
</listener>
わかりませんが、DiskDataStoreの一時ディレクトリを変更しようとする可能性があります。これはサーブレットコンテキスト内の "javax.servlet.context.tempdir"属性を変更することで達成されます(例えば、サーブレットが起動する前、例えばServletContextListener内で)。 – polypiel
DiskDataStoreの変更例がありますか?私は何をすべきか分かりません。 – lazydaemon
jvmに-Djavax.servlet.context.tempdir =/your/dirというプロパティを指定してエクスポートしようとしていますか?Webアプリケーション名に特殊文字が含まれていますか? –