Persistent objects

Is there a way to create an object that is a singleton (one instance per user session) and is kept as long as the user session exists? The object handles a connection to a remote server that is very heavy to establish so I would like to reuse the same object in following requests.

I have tried class variables and global variables but both are discarded at the request's end.

Any suggestions are very welcome.

Regards

Erik

You have answered your own question, put it in the session. If it is a large object then put it in the db and reference it from the session.

Colin

Hi Colin and thanks for the suggestion. But the problem is more intricate than this, I am afraid. The reason I want to keep the object is that it connects via sockets to a pool of servers (at least 4 of them). When the object is marshaled, either for storage in the session or in the db these connections are lost. Maybe there is another solution but as I understand it the only way to keep these connections is to keep the object itself, not a serialized copy.

Extremely grateful for any further input.

Regards

Erik

I suspect class variables etc are only vanishing because you are in development mode. In production mode they will persist.

Fred

Excellent, you are right. I thought I tried that but I have tried many combinations so I must have done it for something that was not persistent in itself. @@variable worked when in production mode. You made me a very happy camper.

Thanks.

Erik

As a matter of interest how are you deciding when to release the connection?

Also don't forget that if you ever went to multiple servers to serve your app that successive requests from a user may not go to the same server.

Colin