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

Reply via email to