Hey everyone, I seem to be coming across two issues when running multiple
jvms with session sharing ... i have not run into this during my previous
testing, since i was not worried about a high-availability environment, and
did not test inside a cluster...

Anyways, i receive this exception when using the ModelDriven interface (the
Accounts object is my model):

[2/14/08 3:35:04:737 GMT] 00000052 HttpSessDRSBu E storeObject: Caught
Exception while trying to serialize. Stack trace:
java.io.NotSerializableException:
com.cerner.healthe.admin.portlet.model.Accounts
I did not really investigate how the ModelDriven interface works, it just
made my ui code cleaner, and allowed me to group a bunch of fields outside
of my action.  Anyways, i was wondering if changing the ModelDriven
interface to require the object to implement Serializable would make sense?

Because of this serializable exception, my exception interceptor forwards me
to a page, and then i display the exception.  At this point, i get another
similar exception:

[2/14/08 16:16:48:936 GMT] 00000029 HttpSessDRSBu E   storeObject: Caught
Exception while trying to serialize. Stack trace:
java.io.NotSerializableException:
com.opensymphony.xwork2.interceptor.ExceptionHolder

I see that the xwork2 interceptor implement the Serializable interface, but
that particular class does not.  Is xwork2 code part of the struts2 code
base, i.e., is this the right place to post for these exceptions?

Finally (this kinda has a bunch of things all wrapped into one), is there
any easier way to increase the logging of the exception interceptor,
besides re-defining the default interceptor stack?  I tried to just
re-define the interceptor, i also tried to just set the parameters, but
it did not seem to work unless i configured my own stack in this way:

<interceptors>

<interceptor-stack name="defaultLoggingStack">
  <interceptor-ref name="exception">
    <param name="logEnabled">true</param>
    <param name="logLevel">warn</param>
  </interceptor-ref>
  <interceptor-ref name="alias" />
  <interceptor-ref name="servlet-config" />
  <interceptor-ref name="prepare" />
  <interceptor-ref name="i18n" />
  <interceptor-ref name="chain" />
  <interceptor-ref name="debugging" />
  <interceptor-ref name="profiling" />
  <interceptor-ref name="scoped-model-driven" />
  <interceptor-ref name="model-driven" />
  <interceptor-ref name="fileUpload" />
  <interceptor-ref name="checkbox" />
  <interceptor-ref name="static-params" />
  <interceptor-ref name="params" />
  <interceptor-ref name="conversionError" />
  <interceptor-ref name="validation">
    <param name="excludeMethods">
      input,back,cancel,browse
    </param>
  </interceptor-ref>
  <interceptor-ref name="workflow">
    <param name="excludeMethods">
      input,back,cancel,browse
    </param>
  </interceptor-ref>
</interceptor-stack>

<!-- Default stack for operating in portlet environment -->
<interceptor-stack name="portletDefaultLoggingStack">
  <interceptor-ref name="portletState" />
  <interceptor-ref name="defaultLoggingStack" />
  <interceptor-ref name="portletAware" />
</interceptor-stack>

</interceptors>
-- 
Brian

Reply via email to