-
Enhancement
-
Resolution: Done
-
Major
-
None
-
7.4
-
2020 Week 28-30 (from Jul 6)
-
2
In RHPAM, Default Runtime Strategy is Singleton. However, Singleton runtime strategy has some downsides:
- Low performance under load
- Issue with JTA transaction https://access.redhat.com/solutions/3462931
- Issue with EJBTimerScheduler https://access.redhat.com/solutions/4065521
Sometimes we needed to suggest customers to move from Singleton to PerProcessInstance at the later stage of development (or even in production).
Considering backward compatibility, we don't change the default value in RHPAM 7.x (RHPAM-2120). However, we'd like to encourage users to use PerProcessInstance in documentation.
In "Managing and monitoring Process Server" guide, "14.1. Deployment descriptor configuration",
We already have this WARNING:
~~~
Do not use the Singleton runtime strategy with the EJB Timer Scheduler (the default scheduler in Process Server) in a production environment. This combination can result in Hibernate problems under load. For more information about this limitation, see Hibernate issues with Singleton strategy and EJBTimerScheduler.
~~~
Please add this sentence in the WARNING:
~~~
PER_PROCESS_INSTANCE is recommended for Runtime Strategy if you don't have specific reasons to use other strategies.
~~~