http://tapestry.apache.org/tapestry5/apidocs/org/apache/tapestry5/annotations/SessionState.html

Specifically:

public abstract boolean create
If true (the default), then referencing an field marked with the
annotation will create the SSO. If false, then accessing the field
will not create the SSO, it will only allow access to it if it already
exists.
Default:
true


This thread might be helpful.
http://tapestry.1045711.n5.nabble.com/SessionState-for-simple-types-td2839381.html
or this one
http://tapestry.1045711.n5.nabble.com/SessionState-error-td2432233.html


Josh

On Wed, May 11, 2011 at 10:01 AM, Tim Koop <t...@timkoop.com> wrote:
> I'm having a little problem with even a simple SessionState String object.
>
> On one page I have this:
>
>    @SessionState
>    private String userColour;
>    ...
>    userColour = "red";
>
>
> Then on a subsequent page I have this:
>
>    @SessionState
>    private String userColour;
>    ...
>    System.out.println("colour is " + userColour);
>
>
> But instead of printing "red", the page throws the following error.  It
> looks to me like it is trying to recreate the String object from a fancy
> constructor.  But it isn't supposed to recreate the object, is it?  Isn't is
> supposed to store the object in memory just the way it is without recreating
> it with a constructor?
>
>
>  An unexpected application exception has occurred.
>
>   * org.apache.tapestry5.runtime.ComponentEventException
>     Error invoking constructor java.lang.String(byte[], int, int, int)
>     (at String.java:337) (for service 'ApplicationStateManager'): No
>     service implements the interface [B.
>
>     context
>
>     eventType
>         activate
>
>   * org.apache.tapestry5.ioc.internal.OperationException
>     No service implements the interface [B.
>
>     trace
>             o Triggering event 'activate' on login/OpenId
>             o Instantiating instance of SSO class java.lang.String
>             o Determining injection value for parameter #1 (byte[])
>             o Resolving object of type byte[] using MasterObjectProvider
>
>   * java.lang.RuntimeException
>     No service implements the interface [B.
>
>     Hide uninteresting stack frames Stack trace
>             o
> org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:665)
>
>             o
> org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getService(ObjectLocatorImpl.java:45)
>
>             o
> org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invoke(MasterObjectProviderImpl.java:56)
>
>             o
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>
>             o
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>
>             o
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057)
>
>             o
> org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:41)
>
>             o
> org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:806)
>
>             o
> org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:50)
>
>             o
> org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:233)
>
>             o
> org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:60)
>
>             o
> org.apache.tapestry5.ioc.internal.util.InternalUtils$2.invoke(InternalUtils.java:273)
>
>             o
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>
>             o
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>
>             o
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057)
>
>             o
> org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:277)
>
>             o
> org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParametersForConstructor(InternalUtils.java:248)
>
>             o
> org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:56)
>
>             o
> org.apache.tapestry5.ioc.internal.ServiceResourcesImpl$4.invoke(ServiceResourcesImpl.java:160)
>
>             o
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:65)
>
>             o
> org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68)
>
>             o
> org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1057)
>
>             o
> org.apache.tapestry5.ioc.internal.ServiceResourcesImpl.autobuild(ServiceResourcesImpl.java:146)
>
>             o
> org.apache.tapestry5.internal.services.ApplicationStateManagerImpl$1.create(ApplicationStateManagerImpl.java:104)
>
>             o
> org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy.getOrCreate(SessionApplicationStatePersistenceStrategy.java:57)
>
>             o
> org.apache.tapestry5.internal.services.SessionApplicationStatePersistenceStrategy.get(SessionApplicationStatePersistenceStrategy.java:44)
>
>             o
> org.apache.tapestry5.internal.services.ApplicationStateManagerImpl$ApplicationStateAdapter.getOrCreate(ApplicationStateManagerImpl.java:50)
>
>             o
> org.apache.tapestry5.internal.services.ApplicationStateManagerImpl.get(ApplicationStateManagerImpl.java:133)
>
>             o
> org.apache.tapestry5.internal.transform.ApplicationStateWorker$1.get(ApplicationStateWorker.java:91)
>
>
>
>
> --
> Tim Koop
> t...@timkoop.com <mailto:t...@timkoop.com>
> www.timkoop.com <http://www.timkoop.com>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to