Set jbo.ampool.doampooling=false to Reproduce Problems Related to AM Passivation / Activation
By Didier Laurent on Nov 12, 2006
Some users report intermittent errors like the following, occurring under heavy load in the Production environment:
JBO-27120: SQL error during query execution. Statement: <SQL Statement>
java.sql.SQLException: Missing IN or OUT parameter at index:: <index number>
JBO-27122: SQL error during statement preparation. Statement:
JBO-30003: The application pool (AppModuleLocal) failed to checkout an application module due to the following exception:
oracle.jbo.JboException: JBO-29000: Unexpected exception caught:
msg=JBO-25000: Unknown SQL type: null
These errors are difficult to diagnose as developers cannot reproduce in the Development or Test environments.
There is then a strong suspicion that the problem is related to the Application Module passivation / activation.
To be 100% sure this is the case, you can force it to occur in your Development environment by setting jbo.ampool.doampooling=false (or uncheck the "Enable Application Module Pooling" in your Configuration):
From the ADF Developer's Guide topic "28.3 Controlling the State Management Release Level" ("Note" under 28.3.1 Supported Release Levels):
"Setting this property [jbo.ampool.doampooling] to false is useful to discover problems in your application logic that might occur when reactivation does occur due to unpredictable load on your system."
If the problem reproduces then, you'll be 100% sure the problem occurs at the reactivation of your Application Module.
Please contact Oracle Support Services then so that a Support Engineer can help you in fixing the problem.
We recommend you to test all your applications in your Development environment with this parameter jbo.ampool.doampooling=false to ensure they are activation-safe, as explained in "28.8 Testing to Ensure Your Application Module is Activation-Safe" of the ADF Developer's Guide.
Forewarned is forarmed...