PROGRESS.Session.connectionLifetime

Posted by pwhybrow_2000 on 11-Mar-2020 02:12

Does anyone know what this parameter actually sets?  

We have a java based app and the guys have been having trouble getting a stable connection to our appservers and the java guys set this up to be about 5 years and it has stabilised the connections.  It doesn't appear to change the availability of the agents so what does it actually do?

The documentation is up to the usual poor standards.

https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvjav%2Fprogress.session.connectionlifetime.html%23

All Replies

Posted by dbeavon on 11-Mar-2020 03:14

Are you on classic or PASOE?  That is a pretty important factor these days.

This should be a client-side configuration.

The session-free connectivity (eg. "state free" mode) uses an internal pool of sessions.  My recollection is that they will be trimmed/cycled after reaching that lifetime.

However there is no background thread on the .Net side that does the trimming.  So what actually happens is that a session will get used one last time BEYOND the specified lifetime and then it will be removed from the pool.  

It sounds like you use the Java openclient?  You may want to verify this.  My experience is based on the .Net side of things.

Posted by pwhybrow_2000 on 11-Mar-2020 03:35

It's classic appserver and we have java stubs generated in ProxyGen.  So is this setting and actual state aware session with the appserver?  It's the first time I have seen this so I'm interested how they are doing it.

Posted by dbeavon on 11-Mar-2020 13:34

I think it has a very limited impact and the effect is isolated to certain types of connectivity.  For us it is only used for session-free ... it is not for session-managed connectivity.  I don't think it would close your session-managed connection on you ... but I could be wrong.  In any case the session-managed connections are normally handled in a much more manual/deliberate way, they don't involve a session pool AFAIK, and you shouldn't need to use an ambient configuration setting like the one you are referring to.  

You might want to consider migrating to PASOE at some point.  Progress doesn't ship "classic" appserver anymore in the newer versions of OpenEdge, and it won't be long before that older technology stack starts to fade out of memory.  Progress tech support will help you with it for ten years, but you might not see it mentioned very often in the forums.  Note that the new PASOE communication layers are now built on tomcat/HTTP.  "Classic" appserver was based on a wire protocol that is 100% home-grown by Progress.

This thread is closed