Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

File listeners are not working properly

SA-37307

Summary



File Listener threads are not dispatched even though there are files to process in the source directory.


Error Messages



Not Applicable


Steps to Reproduce



Configure file listeners with multiple threads per host node.


Root Cause



A defect or configuration issue in the operating environment The maxSession element for PRAsync needs to be adjusted so that the File Listener can be properly dispatched to read the files.


Resolution



Perform the following local-change:

This issue is resolved by making the following change to the operating environment in JBoss config file standalone(-full).xml depending on the one used:

1. AsyncConnectionFactory definition (defaults to 20 if not set)

<pooled-connection-factory name="AsyncConnectionFactory">
<min-pool-size>40</min-pool-size>
<max-pool-size>80</max-pool-size>
<transaction mode="xa"/>
<connectors>
<connector-ref connector-name="in-vm"/>
</connectors>
<entries>
<entry name="java:/jms/PRAsyncTCF"/>
</entries>
</pooled-connection-factory>

2. Pools definitions

<pools>
<bean-instance-pools>
<strict-max-pool name="slsb-strict-max-pool" max-pool-size="100" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="mdb-strict-max-pool" max-pool-size="100" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
</bean-instance-pools>
</pools>

3. Amend ejb-jar.xml in ear file deployed for PRPC application.

,<JBOSS-HOME>/prbeans/META-INF/ejb-jar.xml

4. Add the maxSession ActivationConfigProperty for the MDB deployment descriptor and provide a value that is equal to or
lower than the MDB pool size. Below is an example.

<message-driven>
<ejb-name>PRAsync</ejb-name>
<ejb-class>com.pega.pegarules.internal.etier.mdb.PRAsyncBoot</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Bean</transaction-type>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-property-name>
<activation-config-property-value>javax.jms.Topic</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>destination</activation-config-property-name>
<activation-config-property-value>java:/topic/jms/PRAsyncTopic</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>maxSession</activation-config-property-name>
<activation-config-property-value>100</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>

This allows more than 15 by default.


Published May 6, 2017 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us