My Oracle Support Banner

AM Activation Creates Duplicate Row When Primary Key Is Populated Through a DB Sequence. (Doc ID 1296256.1)

Last updated on MARCH 19, 2019

Applies to:

Oracle JDeveloper - Version 11.1.1.0.0 to 11.1.1.3.0
Information in this document applies to any platform.

Symptoms


You have developed an ADF Faces/BC application in ADF 11.1.1.3.0.
One ADF Faces page is used to create detail records.
The Detail key attribute gets its value assigned from a DB sequence through code added in the Entity Object create() method:

...
protected void create(AttributeList attributeList) {
    super.create(attributeList);
    SequenceImpl s = new SequenceImpl("<SEQUENCE>",getDBTransaction());
    set<PK_FIELD_NAME>(s.getSequenceNumber());
}
...

The application works fine, except under heavy load, where the insertion of a second detail record  duplicates the previous record.
By disabling AM pool (jbo.ampool.doampooling=false), as explained in
<Note 417546.1> - How To Reproduce Problems Related to AM Passivation / Activation,
you can reproduce the problem at will.

It works fine when the key is entered manually by the end user (with the aforementioned code removed).
It works fine under normal conditions (jbo.ampool.doampooling=true and no load on the system).

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.