Documentation

Trace:

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

jvx:communication:alive [2023/08/08 09:37] (current)
admin created
Line 1: Line 1:
 +~~NOTRANS~~
 +~~Title: Configuring Alive handling~~
 +If you're using a desktop client for your application and a communication protocol like http, you have to know about the integrated alive mechanism of JVx.
  
 +==What'​s the alive mechanism?​==
 +
 +The alive mechanism allows detection of invalid connections. This is important for automatic session handling and memory management. If you start your application,​ every application has one or more connections to the server-side. If you close your application,​ all used resources will be released. If you're not using your application for a long time, usually the application will time out and all resources will be released. Sometimes, it happens that you don't use timeouts or your internet/​server connection is broken. In such special cases, it should be possible to release all used connections if possible. So, every application sends an alive message (ping) to the server-side. The interval is configured with 30 seconds, as default. The send mechanism is optimized and doesn'​t send messages too often. So if you're working with your application,​ an alive message will be every 30 seconds of user inactivity. Otherwise, user activity is an implicite alive message.
 +
 +The server-side checks the timestamp of last received alive messages and if it didn't receive a message for 4 * alive interval (with default settings: 120 seconds), the connection will be closed and all resources will be released. The server-side alive check already takes care of standard user activity. So if your user is working with the application,​ the alive mechanism knows that the application is still alive.
 +
 +You have different options to configure alive mechanism:
 +
 +  * set the alive interval (milliseconds) directly for your Master Connection in your application on client-side:​ ''​setAliveInterval(long pInterval)''​
 +  * set the alive interval in server-side config.xml of your application:​\\ <file xml><​connection>​
 +  <​property name="​client.alive.interval">​4000</​property>​
 +</​connection></​file>​
 +If you set the interval < 0, sending alive AND server-side alive check will be disabled. If you set the interval between 0 and 1000, the default interval (30000) will be set automatically.
 +
 +==Configure alive check==
 +
 +If the last alive message is longer than 4 * alive interval, then a connection is closed. If you set a short alive interval like 2 seconds, automatic connection close will happen after 8 seconds if e.g. network is unstable. You have some options to change the timeout:
 +
 +  * set a fixed alive timeout via server-side config.xml:​\\ <file xml><​alive>​
 +  <!-- minutes -->
 +  <​timeout>​1</​code>​
 +  <!-- seconds -->
 +  <​timeoutSeconds>​20</​code>​
 +  <!-- only factor -->
 +  <​timeoutFactor>​8</​code>​
 +</​alive></​file>​If you set ''​timeoutSeconds'',​ ''​timeout''​ will be ignored.
 +
 +Setting a short alive interval is useful for "​polling"​ server-side for changes. But if your network connection isn't very stable, think about a custom alive timeout.
This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information