0

Cloudscape には、システム・プロパティーによって制御される一連の構成オプションがあります。Web アプリケーションでシステム プロパティの設定を調整するのは非常に面倒です。誰かが解決策を思いつきましたか?

さらに、私はそれらを webapp で動作させることができませんでした。

以下は、サーブレット コンテキスト リスナーのコードです。derby.log は、ロギング プロシージャが呼び出されるのではなく、コンテナの cwd に作成されたままです。

/**
 * Listener to try to get Derby to behave better.
 */
public class ContextListener implements ServletContextListener {

    private static final String TEMP_DIR_ATTRIBUTE = "javax.servlet.context.tempdir";
    private static ServletContext context;
    private static Writer logWriter;

    private class LogWriter extends Writer {

        @Override
        public void close() throws IOException {
        }

        @Override
        public void flush() throws IOException {
        }

        @Override
        public void write(char[] cbuf, int off, int len) throws IOException {
            context.log(new String(cbuf, off, len));
        }

    }

    /** {@inheritDoc}*/
    public void contextDestroyed(ServletContextEvent sce) {
    }

    public static Writer getLogSteam() {
        return logWriter;
    }

    /** {@inheritDoc}*/
    public void contextInitialized(ServletContextEvent sce) {
        logWriter = new LogWriter();
        File tempDirFile = (File)sce.getServletContext().getAttribute(TEMP_DIR_ATTRIBUTE);
        context = sce.getServletContext();
        System.setProperty("derby.system.home", tempDirFile.getAbsolutePath());
        System.setProperty("derby.stream.error.method", "com.basistech.vws.ContextListener.getLogStream");
    }

}
4

1 に答える 1

0

Derbyプロパティを設定する方法は複数あります。ここにいくつかのドキュメントがあります:http ://db.apache.org/derby/docs/10.5/devguide/cdevsetprop2422​​2.htmlしかし、これのどの部分が苦痛だと思うかは言わないので、どのような種類かを知るのは難しいですあなたが探している解決策。

どのプロパティを設定しようとしていますか?また、それらを設定することのどの側面が苦痛であることが証明されていますか?

于 2009-11-13T18:51:34.797 に答える