Tuesday, November 26, 2013

Ojdeploy : Tuning exercise

First of all all the tuning I am doing is for out continuous integration server because I build time have hit 25 minutes on the solaris 11 machine (on my desktop the same build it takes 11 minutes).

So where I am working is in the "ojdeploy.conf" file located in [jdev location]/jdev/bin

Finding most java settings make a difference and mostly

Using jrockit I have got it down to 21 minutes

AddVMOption -Xmx1g
AddVMOption -Xms1g
AddVMOption -Xverify:none
AddVMOption -Djava.net.preferIPv4Stack=true

Fastest solaris build so far is on the standard 32-bit jdk - weighing in at 18 minutes

AddVMOption -Dapplication.handle.help=true
AddVMOption -Xmx1g
AddVMOption -Xms1g
AddVMOption -Dsun.awt.disablegrab=false
AddVMOption -XX:MaxPermSize=512M
SetJavaHome /usr/java
AddVMOption -Xverify:none
AddVMOption -Djava.net.preferIPv4Stack=true
AddVMOption -XX:PermSize=128m

will update with my findings but parameters like largePages, parallel gc, -server etc just seem to make things worse.

And the greatest build gain so far - using parallel ant tasks, cut my build time in half.

Tuesday, November 19, 2013

ADF: postChanges delete parent and children in the same transaction programmatically

I was doing a simple mater details delete with some code and no matter what I did the parent delete got called before the child, then I remembered post changes (this.getDBTransaction().postChanges();) and called it after deleting the children. And that is how postChanges saved my life.

Code for fun...

        Key key = new Key(new Object[] { objectId });
        Row[] rows = getParentVO().findByKey(key, 1);
        if (rows != null && rows.length > 0) {
            ParentVORowImpl parent = (ParentVORowImpl) rows[0];
            RowIterator rowIterator = parent.getChildVO();

    public void removeRows(RowIterator rowIterator) {
        while (rowIterator.hasNext()) {
            Row row = rowIterator.next();

Thursday, November 14, 2013

UCM: error in ucm filenotfound after ps7 upgrade

Turns out dispersion rule was turned on and was adding some extra stuff to my urls (mdaw etc)

Thank goodness for this blog post: