Hello,
We have just migrated a large application (hundreds of screens, EO, VO) to ADF 12.2.1.1.
However, we run into some serious issues relating to transient expressions (groovy), one of which we solved with a workaround, but the other is still pending.They are closely related however.
Issue 1 (solved): JDeveloper loops on any transient expression
If there are groovy expressions in a business component, directly in the XML file (for example a view accessor bind variable) then one will get 'compiling TransientExpression' in the messages log of JDeveloper, in a continuous loop. Even if you only have one groovy expression this way, it will keep looping, eating up CPU and memory.
A solution might be to move the groovy expression to a separate BCS file, but the editor of view accessor bind variables *always* stores them in the XML file (this is a bug).
A workaround is to disable the audit rule XML - XML Files - XML Dependency Checking - Reference Not Found Warning (a.k.a. oracle.ide.xml.brokenref-warning). This will stop JDeveloper from looping.
Issue 2 (NOT solved): JDeveloper eats up all resources during deployment
When deploying the application, JDeveloper also attempts to compile all transientexpressions. Also the JDeveloper console logs the following:
<< instruction selection >>
<< initialization >>
<< initialization >>
<< parsing >>
<< conversion >>
<< conversion >>
<< semantic analysis >>
<< canonicalization >>
This process takes over 5 minutes on my 16 GB machine, meanwhile JDeveloper takes up ALL the memory (it raises to 12 GB usage) and CPU is also at 80%.
I have counted, and we have about 2200 expressions in our application..
Since most of them are bind parameter expressions, and the editor does not support saving them in separate BCS files, I am really stuck here. Of course I will log a bug with Oracle support, but meanwhile I was wondering if anyone knows a workaround to this issue?