Main Menu

KB - Unresponsive Thin Client

The BBj Thin Client requires constant network (heartbeat) connectivity to BBjServices. If this connection is broken for an extended period of time, the BBj Thin Client may become unresponsive. Below are some possible causes for an unresponsive client.

Suspend or hibernate

The BBj Thin Client will not be able to maintain a heartbeat connection to BBjServices on a client system that has been placed in hibernate or suspended mode.

 

Resolution:  Close the application before allowing the system to hibernate or be suspended. Disable suspend or hibernate.  
 

Network interruption

An interruption in network connectivity will prevent the BBj Thin Client from maintaining a  heartbeat connection to BBjServices.  
 

Resolution:  The system or Event logs on either the server of the client should provide more information about the problem. In deployments where network connections are susceptible to periodic interruptions, consider increasing the Heartbeat Timeout setting in Enterprise Manager, under the Environment tab.


Figure 1.  The Heartbeat Timeout setting in Enterprise Manager

Windows Swapping

Windows systems can swap out a portion of a Java process to disk if the application has been minimized or idle for a lengthy period of time. In some cases, depending upon the state of the system and the size of the application, the process can extend beyond the default heartbeat of 40 seconds.  
 
Microsoft has struggled for years to allow their customers to run their Desktop operating systems on underpowered hardware. hey use many tricks to make this happen: They configure their disk compaction software to put the programs that run most frequently on the fastest part of the disk. They pre-load many or the most frequently loaded programs into memory after each bootup. They also developed the "virtual memory" concept which allows the OS to swap programs that are less frequently used to disk and out of the RAM on the machine. This last optimization can cause users to experience the "freezing" of applications if left idle for hours at a time. JVM developers have been aware of this OS feature for years and provided a Java argument to help reduce the chances that the Java application will be swapped to disk, if you set this particular argument. It is not set by default, because it causes windows to run sluggishly if an application is left in RAM that is not used for hours at a time, however, if a customer wants to make sure that their java application is always ready to action, then set this argument and reduce the chances that it will "freeze" or take a long time to launch. 

 

Resolution 1:  Increase the Heartbeat Timeout (see above).

 

Resolution 2:  Add Java argument:  

-Dsun.awt.keepWorkingSetOnMinimize=true
 

  • BBj standard Thin Client Deployment (non-web start) - Add the following to the Proxy Manager Server Java arguments in the <bbjhome>/cfg/BBj.properties file:

    -Dsun.awt.keepWorkingSetOnMinimize=true
    Example:

    basis.java.args.ProxyMgrServer=-Dsun.awt.keepWorkingSetOnMinimize=trueanks
     

  • BBj Web Start Deployment (non-Jetty) - Add the following element to your handwritten JNLP file:  

<property name="keepWorkingSetOnMinimize" value="sun.awt.keepWorkingSetOnMinimize"/>
 

  • BBj Jetty Web Start Deployment:

    1. In Enterprise Manager, click ‘Add Property’ to the default section of your JNLP configuration.

      Figure 2.  The Add Property button in Enterprise Manager’s JNLP Configuration module.
       
    2. In the Value field of the new property, add:  sun.awt.keepWorkingSetOnMinimize 
       
    3. In the Name field of the property, add: keepWorkingSetOnMinimize

      Figure 3.  Adding the sun.awt.keepWorkingSetOnMinimize property to the Jetty JNLP.
       
    4.  Click [Save]. 

  Google+ View BASIS LinkedIN Profile Visit our Twitter Feed Check out our Facebook Public Profile Click to View the BASIS youTube channel