ポートレットのDB

ブログポートレットなど別途データベースを起動するやつがあるけど、それはそれで面倒だなっと思い、組み込みDBにして使う方法を考える。やっぱり、warを配備するだけで使いたいと思うし。そういうわけで、いろいろと試した結果、

"jdbc:hsqldb:" + container.getComponent(@java.lang.Class@forName("javax.servlet.ServletContext")).getRealPath("/WEB-INF/db/hsql/todolist")

みたいな感じでやれば、可能と言うことが判明。本当は、application.getRealPathとしたいのだが、ポートレット環境では、TooMany~と言われる。というわけで、クラス名で呼び出しをかけて、取得して、パス生成すれば良いみたい。というわけで、これに切り替えよう。