ふたつの川うるおう日記
2006-08-20 (Sun)
_ [Java][Seasar] S2DirectoryのHotDeploy対応
S2Directoryは基本的に初期時の処理は、S2DaoのResultSetを処理する部分をNamingEnumerationを処理するようにしているだけなので、S2Daoのやり方と同じようにしておきました。ValueTypesもValueTypeFactoryを経由するようにしたものの、S2Directoryの場合、データ取得後もValueTypes使って処理するところがあるので、ちょっと微妙かもしれない。とりあえずtrunkにコミットしておきました。
_ [Java][Seasar] HotDeploy + JoSQLが上手くいかない (解決)
[追記] setClassLoader(ClassLoader classLoaderで解決しました。
LogicImplでJoSQL使うとorg.josql.QueryExecutionExceptionが出てしまいました。
- OK
- "SELECT * FROM " + PosixGroupDto.class.getName();
- NG
- "SELECT * FROM " + PosixGroupDto.class.getName() + " ORDER BY cn";
- "SELECT * FROM " + PosixGroupDto.class.getName() + " cn != 'www'";
- "SELECT * FROM " + PosixGroupDto.class.getName() + " WHERE toNumber(gidNumber) > 1000";
Dtoの中身を比較しようとするとダメらしい。ちなみにHotDeploy化する前は動いてたコードです。
org.josql.QueryExecutionException: Unable to get value for LHS of expression: cn[detail: Accessor: cn from class: org.seasar.server.members.dto.PosixGroupDto] != 'www' at org.josql.expressions.EqualsExpression.isTrue(EqualsExpression.java:92) at org.josql.Query.execute(Query.java:881) at org.seasar.server.members.util.JoSQLUtil.getResultList(JoSQLUtil.java:45) at org.seasar.server.members.util.JoSQLUtil.getResultList(JoSQLUtil.java:25) at org.seasar.server.members.logic.impl.MembersLogicImpl.getProjectGroupList(MembersLogicImpl.java:205) at org.seasar.server.members.logic.impl.MembersLogicImpl$$EnhancedByS2AOP$$aa2594.getProjectGroupList$$invokeSuperMethod$$(MembersLogicImpl$$EnhancedByS2AOP$$aa2594.java) ...
なんとなくエラーが言いたいことは感じる・・・。
_ [Java][Seasar] S2StrutsQualified 0.7 beta 1
s2-struts-1.3.0-beta-2-SNAPSHOT.jar用。これでさっきのJoSQLの問題以外は移植してHotDeployで動いた(*゜ー゜)。
今回からDefaultActionPathNamingRuleを継承してパスをちょこっと変えるだけで良くなりました。とっても楽です>kanagashiさん。
HotDeployだと動かしながらサクサク編集できて良いですね〜。JoSQLが動かないかいろいろ試すのが楽。結局まだ動いてないけど(w。
というわけで、お出かけ。
[ツッコミを入れる]
[]


