Nothing that is built in for this purpose, and IIRC that 'getEntityResolver' approach may no longer work, as we are caching it now on the client. You can issue a simple query instead I guess. Something that executes quickly and doesn't bring back any data. It may even end up having better performance than 'getEntityResolver'.
Also I am thinking we should look at adding a seamless reconnect ability to the Hessian transport. As in most cases users won't maintain server-side state between requests, so abandoning a session and creating a new one shouldn't be a big deal if that's transparent to the users.
Andrus
On Sep 14, 2010, at 7:34 AM, emanuel..engozzi.com wrote:
> I've a swing application using cayenne ROP, i had problem with session
> timeout of the hessian servlet, so far in order to avoid long session
> timeout, i implemented a thread preforming the following:
> ....
>
> DataChannel channel;
> ....
>
> public void run() {
>
>
>
>
> for(;;)
> {
>
> this.channel.getEntityResolver();
>
> try {
> Thread.sleep(120000);
> } catch (InterruptedException ex) {
> Logger.getLogger(Instance.class.getName()).log(Level.SEVERE,
> null, ex);
> }
> }
> }
>
> it issue a bootstrap message every 12 seconds.
>
>
> I didn't find a better way to doit, using cayenne 2.
>
> I wonder, since im planning to switch the application to cayenne 3, for
> both Nested Context and Paginated queries for ROP, is there a better way
> to "ping" Hessian servlet to keep session active?
>
>
>
>
>
>
This archive was generated by hypermail 2.0.0 : Tue Sep 14 2010 - 14:25:34 UTC