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 FEBRUARY 03, 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 (eg "Locations" in "Countries").
The Detail key attribute gets its value assigned from a DB sequence through code added in the
Entity Object create() method:
...
public class LocationsImpl extends EntityImpl {
...
protected void create(AttributeList attributeList) {
    super.create(attributeList);
    SequenceImpl s = new SequenceImpl("LOCATIONS_SEQ",getDBTransaction());
    setLocationId(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
<> - 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).

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
  Cause
  Solution
  References

This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.

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