Expand my Community achievements bar.

SOLVED

LiveCycle servers behind a load balancer.

Avatar

Level 2

Hello everyone.

We have livecycle ES set up behind a load balancer (BigIP F5). We are having problems with the JMS Queues. We are able to login into the administration console do changes, etc, and the product seems to be working fine until the JMS queues are being used.

We are only load balancing ports 8080 and nothing else. So I'm just wondering if we need to load balance more ports beside those. Of course I haven't found any docs about this on the adobe site.

Any help would be appreciated.

Thank you.

1 Accepted Solution

Avatar

Correct answer by
Level 7

Your JBoss is not yet fully configured for LiveCycle 8.0.1.  There was a period of time when LiveCycle's documentation accidentally excluded the following configuration steps:

Add the following XML for defining a couple of connection factories to %JBOSS_HOME%\server\all\deploy\jms\hajndi-jms-ds.xml

  <tx-connection-factory>
    <track-connection-by-tx>true</track-connection-by-tx>
    <jndi-name>adobe_JmsQueueXA</jndi-name>
    <xa-transaction/>
    <rar-name>jms-ra.rar</rar-name>
    <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
    <adapter-display-name>JMS Adapter</adapter-display-name>
    <config-property type="java.lang.String" name="SessionDefaultType">javax.jms.Topic</config-property>
    <security-domain-and-application>JmsXARealm</security-domain-and-application>
    <config-property type="java.lang.String" name="JmsProviderAdapterJNDI">java:/DefaultJMSProvider</config-property>
  </tx-connection-factory>

  <tx-connection-factory>
    <track-connection-by-tx>true</track-connection-by-tx>
    <jndi-name>adobe_JmsTopicXA</jndi-name>
    <xa-transaction/>
    <rar-name>jms-ra.rar</rar-name>
    <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
    <adapter-display-name>JMS Adapter</adapter-display-name>
    <config-property type="java.lang.String" name="SessionDefaultType">javax.jms.Topic</config-property>
    <security-domain-and-application>JmsXARealm</security-domain-and-application>
    <config-property type="java.lang.String" name="JmsProviderAdapterJNDI">java:/DefaultJMSProvider</config-property>
  </tx-connection-factory>

View solution in original post

4 Replies

Avatar

Level 7

If you see trouble reported in the server log about JMS, chances are that it has not much to do with the load balancer setup.

Avatar

Level 2

This what we are seeing on the logs:

2009-09-09 11:47:48,207 ERROR [STDERR] Sep 9, 2009 11:47:48 AM com.adobe.idp.jobmanager.util.JobManagerUtil getQueueConnectionFactory

SEVERE: JobManager:getQueueConnectionFactory():Error:Could not dereference object

2009-09-09 11:47:48,207 ERROR [com.adobe.idp.jobmanager.ejb.JobManagerBean] JobManager:createJob:error sending message:java.lang.RuntimeException: JobManager:getQueueConnectionFactory():Error:

2009-09-09 14:05:15,567 ERROR [STDERR] Sep 9, 2009 2:05:15 PM com.adobe.idp.jobmanager.util.JobManagerUtil getQueueConnectionFactory

SEVERE: JobManager:getQueueConnectionFactory():Error:Could not dereference object

2009-09-09 14:05:15,567 ERROR [com.adobe.idp.jobmanager.ejb.JobManagerBean] JobManager:createJob:error sending message:java.lang.RuntimeException: JobManager:getQueueConnectionFactory():Error:

2009-09-09 14:29:05,534 INFO  [com.adobe.idp.dsc.provider.service.scheduler.impl.SchedulerUtils] Service operation parameters are {parameters=com.adobe.idp.dsc.impl.InvocationRequestImpl@1433ef80, jobGroupName=WatchedFolder, jobName=WatchedFolder:450}

2009-09-09 14:29:05,550 INFO  [com.adobe.idp.dsc.provider.service.scheduler.impl.SchedulerUtils] Service operation parameters are {triggerName=WatchedFolder:450, startDate=Wed Sep 09 14:29:05 EDT 2009, triggerGrpName=WatchedFolder, endDate=null, repeatCount=-1, repeatInterval=2000}

2009-09-09 14:29:05,550 INFO  [com.adobe.idp.dsc.provider.service.scheduler.impl.SchedulerUtils] Service operation parameters are {trigger=com.adobe.idp.scheduler.trigger.PeriodicTrigger@5db0c6dc, jobData=com.adobe.idp.scheduler.job.JobData@cfc592}

2009-09-09 14:34:09,577 ERROR [STDERR] Sep 9, 2009 2:34:09 PM com.adobe.idp.jobmanager.util.JobManagerUtil getQueueConnectionFactory

SEVERE: JobManager:getQueueConnectionFactory():Error:Could not dereference object

2009-09-09 14:34:09,593 ERROR [com.adobe.idp.jobmanager.ejb.JobManagerBean] JobManager:createJob:error sending message:java.lang.RuntimeException: JobManager:getQueueConnectionFactory():Error:

2009-09-09 14:34:09,593 INFO  [com.adobe.idp.dsc.provider.service.file.write.impl.FileResultHandlerImpl] FileResultHandlerImpl ----- pr

Avatar

Correct answer by
Level 7

Your JBoss is not yet fully configured for LiveCycle 8.0.1.  There was a period of time when LiveCycle's documentation accidentally excluded the following configuration steps:

Add the following XML for defining a couple of connection factories to %JBOSS_HOME%\server\all\deploy\jms\hajndi-jms-ds.xml

  <tx-connection-factory>
    <track-connection-by-tx>true</track-connection-by-tx>
    <jndi-name>adobe_JmsQueueXA</jndi-name>
    <xa-transaction/>
    <rar-name>jms-ra.rar</rar-name>
    <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
    <adapter-display-name>JMS Adapter</adapter-display-name>
    <config-property type="java.lang.String" name="SessionDefaultType">javax.jms.Topic</config-property>
    <security-domain-and-application>JmsXARealm</security-domain-and-application>
    <config-property type="java.lang.String" name="JmsProviderAdapterJNDI">java:/DefaultJMSProvider</config-property>
  </tx-connection-factory>

  <tx-connection-factory>
    <track-connection-by-tx>true</track-connection-by-tx>
    <jndi-name>adobe_JmsTopicXA</jndi-name>
    <xa-transaction/>
    <rar-name>jms-ra.rar</rar-name>
    <connection-definition>org.jboss.resource.adapter.jms.JmsConnectionFactory</connection-definition>
    <adapter-display-name>JMS Adapter</adapter-display-name>
    <config-property type="java.lang.String" name="SessionDefaultType">javax.jms.Topic</config-property>
    <security-domain-and-application>JmsXARealm</security-domain-and-application>
    <config-property type="java.lang.String" name="JmsProviderAdapterJNDI">java:/DefaultJMSProvider</config-property>
  </tx-connection-factory>