2009年4月9日木曜日

GAE/JavaでWicketを使ってみる - その3

Wicketのセッション情報の書き出し処理中にAccessControlExceptionが発生する件は、以下のようにしてHttpSessionStoreを適用(WebApplicationクラスに記述)する事で回避できた…っぽいw
@Override
protected ISessionStore newSessionStore() {
  return new HttpSessionStore(this);
}
「っぽい」って書いたのは、まだ動作していないから。うっかりJPAの処理も含めてしまってデプロイしているせいか、次は以下のようなExceptionに変わった(長いから適当に抜粋した)w
Caused by: java.io.NotSerializableException: org.datanucleus.store.appengine.query.DatastoreQuery$1
  at java.io.ObjectOutputStream.writeObject0(Unknown Source)
  ...(snip)...
  at java.io.ObjectOutputStream.writeObject0(Unknown Source)
  at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
  at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
  at org.apache.wicket.Component.writeObject(Component.java:4395)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)
  ...(snip)...
  at java.util.HashMap.writeObject(Unknown Source)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)
  at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
  at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
  at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
  at java.io.ObjectOutputStream.writeObject0(Unknown Source)
  at java.io.ObjectOutputStream.writeObject(Unknown Source)
  at com.google.apphosting.runtime.jetty.SessionManager.serialize(SessionManager.java:331)
  ... 39 more
JPAをはずしたら動作してるんかなー。
コメントを投稿