LiveCycle uses Gemfire technology provided by GemStone systems (now VMware) for maintaining the cluster cache. LiveCycle can be configured to use either multicast (UDP) based caching mechanism or TCP caching mechanism using TCP locators.
TCP locators are recommended for production clusters due to the inherent reliability of the TCP protocol.
The TCP locator runs in a separate JVM process and LiveCycle servers are configured to know about TCP locators using specific JVM arguments. While starting up TCP locator(s), you specify the gemfire.jar file to be used by the TCP locator(s). By default TCP locator writes log messages to GFLocator.log file – another JVM argument you specify when you start TCP locator.
LiveCycle is typically deployed to a J2EE application server. When you install and configure LiveCycle, various EAR files get created, depending on which solution components you install. In the case of JBoss, one of the files you would see is adobe-livecycle-jboss.ear
adobe-livecycle-jboss.ear file also contains a gemfire.jar file; which is loaded by the JVM when application server starts up.
Another log file called Gemfire.log file gets created under
It’s important that versions of gemfire.jar file used by adobe-livecycle-jboss.ear and TCP locator(s) match; for successful cluster setup.
You can verify this by looking at GFLocator.log and Gemfire.log files described above.
Here are log snippets for an environment, where these source revisions do “not” match.
GFLocator.log snippet -
Java version: 6.0.1 build 24822 04/28/2009 15:48:45 PDT javac 1.5.0_17
Source revision: 24822
Gemfire.log snippet -
Java version: 22.214.171.124 build 30795 03/11/2011 19:11:36 PST javac 1.5.0_17
Source revision: 30795
In this case, LiveCycle servers were not able to establish communication with TCP locator; and cluster was not working.
Jboss server.log showed messages like -
2011-07-14 01:30:22,426 ERROR [STDERR] javax.ejb.EJBException: Unexpected Error
java.lang.NoClassDefFoundError: Could not initialize class com.adobe.livecycle.cache.adapter.GemfireCacheAdapter
In order to resolve such situation, extract Gemfire.jar file from adobe-livecycle-jboss.ear (Using WinZip); and replace the version of Gemfire.jar used by TCP locator with extracted copy.
Backup of existing Gemfire.jar should be taken prior to replacement.
Sequence to restart cluster:
Stop LiveCycle servers (i.e. application server nodes where LiveCycle is deployed),
Stop tcp locator(s),
Start tcp locator(s) and
Start LiveCycle servers.