Monday, 14 September 2015

ADF : Create Nested AM

Create Nested AM


HistoryDataService AM (Pointing to different DB and in different project)
       | _   CustomerService AM (Pointing to different DB and in different project)








Tuesday, 25 August 2015

ADF: Autosuggest behaviour for inputComboboxListOfValues component.


ADF: Autosuggest behaviour for inputComboboxListOfValues component.

Please follow the below link to implement Autosuggest for inputComboboxListOfValues.


http://digitalidentitymanagement.blogspot.in/2013/02/implementing-contains-autosuggest.html



Monday, 24 August 2015

ADF: New ViewLink instance to AM

ADF: New ViewLink instance to AM

If we add new viewLink to AM, the backend changes are as follows :


ADF: inputComboboxListOfValues Use

ADF: inputComboboxListOfValues Use

Problem faced in below use case:

Problem : we had Transient attribute in search criteria, and 1st time on click of search button using transient attribute it was not working, after adding any transient attribute from "Add fields" option it was working.

Solution: If you have any transient attribute in search criteria then select "In Memory" option instead of "Database" in ViewCriteria.



Thursday, 19 February 2015

JTATransaction: javax.transaction.InvalidTransactionException.

 JTATransaction:  javax.transaction.InvalidTransactionException.


For Weblogic server, for complete domain level we set JTA time out.
If we are facing JTATransaction Time out exceptions, please go and increase the time.
If Application Modules are not commited between this time automatically it will be roll backed and you will get exception.


JAVA : TempFile : How to avoide InputStrem Loss.

TempFile : How to avoide InputStrem Loss.


1. Assume we are getting stream from UCM, and we are going to use that stream in our java code.
If file is huge then we may not handle that stream for long time, It will be lost after some time.

So to avoide that we can get the stream and write it in to tempFile, and then we can use that stream for further coding.

Below is the sample code:


ADF BC Passivation and Activation

ADF BC Passivation and Activation


In production, when there will be high workload and many concurrent users, ADF will start to passivate Application Module instances.

Along with that if we want to passivate and activate our Transient Variable also then we need to check the Passivate check box in Transient Attribute level.

For More info - http://andrejusb.blogspot.in/2010/01/demystifying-adf-bc-passivation-and.html

Eg: Assume we have "DummyAttr" as Transient variable, and we are assigning value as shown below.


User will open Departments page and will set transient attribute value as shown above.
Will try to open next page - Employees, and will get java.lang.NullPointerException. Why? Let's find an answer in detail log. When there is not enough space in the pool (during next submit in our test case), and Application Module instance is passivated, transient DummyAttr attribute value was not passivated and this means it was simply lost:

So always good practice is to Pssivate our Transient variables and keep running in production with out fail.