Each time when data is changed and updated through ADF BC, before posting changes to DB, SQL query with FOR UPDATE NOWAIT is generated and executed. In case if other process locks row to be updated, or another user in the same moment is updating it, error will be generated and update will be stopped. There might be use cases, when you would like to wait for certain period of time, until row will be unlocked and then commit row changes.
One of the common use cases in enteprise applications is to track concurrent user changes. There are two types of changes possible - when two real users are changing data in the same row, or when single user is changing data and same row is updated by PL/SQL procedure/function (all happen in the same user session). In the first case, we would like to inform a user - row data was changed (two different users changing data).
- Hello Developer. - Hello... you.. - Listen, I have this great idea for an App. - Really? - yeah! - what's it about? - can't tell you. - OK... - So Developer, will you write the code for the App? - OK, but what should I write? What will the App do? - Cant tell you. - Why? - You haven't signed a NDA yet. - I see. so where is it? - I have it at home. in a safe place. - OK... but why? - Because in there I have written the idea for the App. - aha..
When you work on larger JDeveloper/ADF 12c project, most likely you will experience issues with application redeployment (rerun). These two issues will be encountered:
1. It doesnt work anymore (it worked on 11g) to simply rerun application (applies for 12.1.3 and 12.2.1), without stopping it and then running again. In most of the cases if you try to rerun application, some strange errors are returned or changes are not visible at all. It takes time to stop application and run it from scratch
Do you want to test in your environment REST service running on Oracle MCS cloud? I have implemented public REST service hosted on Oracle MCS, you can call it from Postman application (Google Chrome extension).
Picture this at will. You come back from work all tired and happy of your great productive day and all you want is to order your favourite pizza. You will have to either call them and probably wait for somebody to answer the phone or you will be put on a queue, or, you will go on-line and place your order. Hang on a minute..
You might be interested to check my previous sample about CRUD implementation in JET - Handling ADF BC 12.2.1 REST Validation in Oracle JET. I'm going to describe how to access secure ADF BC REST service from JET, based on the CRUD sample app. We need to pass authorization header on each REST request, this way server can authenticate user and authorize access to the REST resource.