Friday, April 4, 2014

Too Many Open Files Exception while running application on Unix

While working on client side and running Webcenter portal application on the Unix System, we saw exception stating : error = 24 , Too Many Open Files.

Caused by: java.io.IOException: java.io.IOException: error=24, Too many open files
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
    at java.lang.ProcessImpl.start(ProcessImpl.java:65)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
    ... 40 more

Saturday, March 22, 2014

Could not create the Java Virtual Machine Unrecognized option: -jrockit

While working with a client, after client installed all the required softwares, WLS, Jdeveloper and JDK on the machines , there was an error which came up on starting integrated weblogic server from Jdeveloper. That error was something like below :-

Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Unrecognized option: -jrockit

Friday, February 28, 2014

Application Module Connection Sharing - Code Example Proof

There is a excellent and very informative video on AM Connection Sharing by Chris Muir where he describes how Multiple Root application modules due to sharing of ADF Library jars can be made to use single connection under the covers by using powerful feature of transaction management in task flows. Thanks to Chris for explaining this wonderful concept. Here is the link to the video AM Connection Sharing .

In this post we will see this powerful concept with the help of code example. Below is the concept:

"If there are multiple root AM's may be due to shared libraries, if task flows are used with default No Controller Transaction option, then there will be as many number of connections to DB as number of Root AM's. On the other hand if task flows in the application uses any of the three Transaction Option, then there will be Only Single connection to the DB be there any number of Root AM's , i.e. connection will be shared."

Tuesday, February 11, 2014

Af InputDate Default Message hint - Disable

When we click on the af:InputDate , As soon as we click inside it, there is a default note hint which comes besides the inputDate field. Below is how it does.


So this works good for some implementations but sometimes client wants to avoid this default behaviour.
We had a requirement where client dsnt wanted this default hint note to be displayed on clicking the Input Date field.

Tuesday, January 28, 2014

Custom Rules for ADF BC Java Files

There is a very good explanation of how to write custom rules using Jdev Extensions @ Write your own Audit Rule Extension in JDeveloper 12C by Richard Olrichs.

We will be discussing how we can write rules for ADF BC framework classes like EntityImpl and ViewObjectImpl.

The way how we identify that we are in current file for example, to know wether we are in Entity defination XML file we need below piece of code. This tells the Custom Analyzer that for all the files other than entity defination files, the Rules should be set false. This means that for all files other than entity files, rules for Entity Objects should be disabled i.e  Framework should not execute further drill down methods of the Analyzer which are exit(AuditContext, Drill Down Elements) in most of the cases.

Friday, January 17, 2014

Jdev Extensions & Custom Audit Rules

Introduction to Oracle Jdeveloper Extensions SDK. Setting up project and developing Custom Rules using Jdev Extensions.

Monday, January 13, 2014

Configuring Extensions.xml and Manifest.MF after creating extensions project

In my last post Creating and Debugging Jdeveloper 12c Extensions project, I explained how to download Extensions SDK and create a new Jdev Extensions project.
But that was not all to set and start creating jdev extensions.

After creating the project, there is very important step which has to be taken care of to start working with extensions.

So after we created the extensions project, it still does not have library dependencies for jdev audit extensions. If we check its classpath, it shows something like below :-