JDO + GAE + Table = "Session Expired"

Hi guys,
I have a small project ( http://cflocator.appspot.com ) based on the tutorial ‘contacts’ app, everything works fine in the GAE, until I try to load the persistent objects into the container from a JDO-DAO class, actually the table get the first (500) group of results but immediately the red session expired alerts shows. I’ve already serialized my objects and enabled sessions on appengine-web.xml

My container code, looks something like this…


public class CFLocationContainer extends BeanItemContainer<CFLocation> implements
		Serializable {

	public CFLocationContainer() throws InstantiationException,
			IllegalAccessException {
		super(CFLocation.class);
	}
	
	public static CFLocationContainer createWithDAO(){
		CFLocationContainer c = null;
		try {
			c = new CFLocationContainer();
			
			
		CFLocationDAO cfdao = new CFLocationJdoDAO();
		
		List<CFLocation> cfList=cfdao.listCFLocations(); 
		
		for(CFLocation loc:cfList){
			
			c.addItem(loc);
		}
		
		} catch (InstantiationException e) {
			
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			
			e.printStackTrace();
		}
		return c;
	}

Any hints about this? Im pretty new to Vaadin and GAE so probably I’m skipping something obvious.

Thanks,

Billy T.

It looks like some exception occurs upon the second (any) request to the server - such as clicking on the tree after the initial page load - causing the message to be shown.

You should check your exception logs and make sure you catch the relevant exceptions, or run the application in a debugger. You could also override Application.terminalError() to provide customized handling and reporting of errors that occur during requests from the UI to the server.

The stack trace should help in getting forward with resolving the problem.

Thanks Henri,
As an update the problem was stale data in the datastore, it was easier to catch with the terminalError() tip.

-Billy!