Rolling back lock after RowInconsistentException (in ADF 11g)

The JDeveloper 11g documentation explains under "Advanced Entity Object Techniques" how to override the select and lock functions so that you can do the locking with a stored procedure. I think I've done this as documented, but when I detect that another user has changed the row and raise the RowInconsistentException, this leaves the row locked (because the stored procedure did a "select for update"). So the user correctly gets told that someone else has changed the row, but the row stays locked until he does something else. I want to treat the RowInconsistentException as a failure and leave the row unlocked as it was before.
I suppose I could invoke "getDBtransaction.rollback()" from my EntityImpl.java's doSelect() before throwing the RowInconsistentException, or perhaps from lock() after detecting it, but the example in the documentation doesn't do this so I'm worried that it might confuse ADF. So is there something else that I should be calling instead, in order to do the rollback?
I'm sorry if I've missed the answer somewhere in the documentation, but I can't find it, so I'd very much appreciate it if someone can tell me how it's supposed to work.
Thanks
     Phil
Minor update: I've now tried using rollback(), but that does indeed seem to mess something up, because the user then doesn't get given an error message. He gets to see the current state of the database, because I use refresh(REFRESH_WITHDB_FORGET_CHANGES), but doesn't get an error message even though I'm still throwing RowInconsistentException - somehow the rollback seems to be causing this exception to get ignored! I need to tell the user that his change is not being implemented because someone else had already changed the row, while leaving the row unlocked. Help!
Edited by: user451308 on May 15, 2009 11:56 AM

Hi,
exception handling should work the same. Can you give this a try in a test case you set up for using Facelets only? Note that JSF 2.0 has a changed exception handling which however should not lead to exceptions not getting throws at all. However, please verify on a clean Facelets project.
Frank

Similar Messages

  • Roll back process after certain time limit

    Hi All,
      I am using Oracle 11g. I am calling one stored procedure (MainProc) from my application. Through this procedure I am calling internally three more procedure (Insert recordProc1, InsertRecordProc2 and DeleteRecProc).
    The third stored procedure (DeleteRecProc) is taking more than 5 minutes. But if these process crossings more than 5 minutes, have to stop the process and roll back all three stored procedures functions.
    I don’t have any commit statement inside of these stored procedures. But I have EXECUTE IMMEDIATE Inside of stored DeleteRecProc.
    Help required: Help me to make a counter / Timer. I have a parameter, which has the assigned time limit. How to check whether the process crossing the time limit? How to stop the process and call Rollback?
    Thanks in advance.
    Manian

    Don't know if this helps your situation.
    http://docs.info.apple.com/article.html?artnum=301579
    here is the entire thread
    http://discussions.apple.com/message.jspa?messageID=1237801#1237801

  • TS3212 Itunes 10.7 Rolls back installation after attempting to install on Windows Vista 64bit.

    I downloaded the version in this link, presumably for Vista 64:
    http://support.apple.com/kb/DL1577 . It goes through the process but rolls back the installaion and reports "error in installation". I turned off kaspersky Suite but got the sam emessage. Any ideas?

    To clarify, I already have iTunes 10.6. Also, I just checked back on the iTunes installer (the manual one) and it now says: "iTunes Installer Completed
    The installer encountered errors before iTuens could be configured.
    Errors occurred during installation. Your system has not been modified.
    Please run the installer again, or click Finish to exit."

  • Container transaction NOT rolled back after a long period of time.

    Hi, I am using Weblogic 6.1SP5 on RedHat 7.1 and I have seen an unexpected
              behaviour with an MDB and I would like to know if there is any circumstance
              in which a transaction is not rolled back automatically by the container
              after the transaction timeout specified on MDB descriptor expired.
              The fact is I have seen a thread locked for 3 entire days without any
              exception being raised (the trans timeout was set to 900 seconds for
              debugging porpouses)
              Sadly I didn't thought on issuing a ps -ax and a netstat -np in order to see
              if there was any connection active for any of the JVM threads.
              As an aside note I had to throw a kill -9 to Weblogic's JVM in order to
              completely stop it because using the standard "stopWeblogic.sh" script it
              got stalled.
              The only unusual thing that I can think of the MDB is doing is opening a
              connection against a remote system via a socket.
              My question is. Is it possible that a thread locked on I/O (in this case a
              socket) to be out of control in terms of throwing at it a "Transaction
              rolled back exception"?
              I have modified my code in order to set SO_TIMEOUT on the socket just in
              case the other peer hangs and never returns control. But I would like to
              know the problem could be there.
              I know for sure that at the time the thread stalled the other peer died
              (exceptions on other MDBs trying to connect to remote system) but I expected
              a "socket exception" to be thrown by the O.S. to the stalled thread instead
              of having the thread waiting forever on that "open" socket.
              Thanks in advance.
              Ignacio.
              

    While a tramsaction may be rolled back at the transaction timeout,
              the thread is not stopped. The actual exception won't occur until
              the MDB completes. If the MDB doesn't complete (as in this case),
              you won't get the exception.
              "Ignacio G. Dupont" <[email protected]> wrote in message news:[email protected]...
              > Hi, I am using Weblogic 6.1SP5 on RedHat 7.1 and I have seen an unexpected
              > behaviour with an MDB and I would like to know if there is any circumstance
              > in which a transaction is not rolled back automatically by the container
              > after the transaction timeout specified on MDB descriptor expired.
              >
              > The fact is I have seen a thread locked for 3 entire days without any
              > exception being raised (the trans timeout was set to 900 seconds for
              > debugging porpouses)
              >
              > Sadly I didn't thought on issuing a ps -ax and a netstat -np in order to see
              > if there was any connection active for any of the JVM threads.
              >
              > As an aside note I had to throw a kill -9 to Weblogic's JVM in order to
              > completely stop it because using the standard "stopWeblogic.sh" script it
              > got stalled.
              >
              > The only unusual thing that I can think of the MDB is doing is opening a
              > connection against a remote system via a socket.
              >
              > My question is. Is it possible that a thread locked on I/O (in this case a
              > socket) to be out of control in terms of throwing at it a "Transaction
              > rolled back exception"?
              >
              > I have modified my code in order to set SO_TIMEOUT on the socket just in
              > case the other peer hangs and never returns control. But I would like to
              > know the problem could be there.
              >
              > I know for sure that at the time the thread stalled the other peer died
              > (exceptions on other MDBs trying to connect to remote system) but I expected
              > a "socket exception" to be thrown by the O.S. to the stalled thread instead
              > of having the thread waiting forever on that "open" socket.
              >
              > Thanks in advance.
              >
              > Ignacio.
              >
              >
              

  • Error 131 Transaction rolled back by lock wait timeout

    Hello all,
    I was trying to run apriori, and then HANA writer in my database.
    Apriori executes directly, and then I configure and try to execute HANA Writer. But it keeps executing for more than half an hour, and then gives the following error: Error 131 Transaction rolled back by lock wait timeout. Lock timeout occurs while waiting TABLE_LOCK of mode EXCLUSIVE.
    Bimal suggested me to reduce the data to be analysed, so then I reduced it to a pretty small part and executed again.
    It gave me the same error after more than 30 minutes waiting executing.
    after having this error, I tried just execute apriori, but with a filter of 5 transactions and than it worked. After that I tried to visualize the results, and got the following error:
    It means that my HANA memory is full?
    I got the view from HANA:
    Regards!
    Error 131 Transaction rolled back by lock wait timeout 

    Hi Jurgen,
    I'm a developper for PAL from Shanghai team.
    Could you please provide some details information about this case:
    -          How many records did you use ?
    -          What’s the value of “MIN_SUPPORT” and “MIN_CONFIDENCE” did you use ?
    The algorithm of apriori will consume much memory when the input data is very large and min_support is low.
    So I suggest you set “MIN_SUPPORT” and “MIN_CONFIDENCE” as 0.9 firstly, check if it can output result.
    Thanks,
    Peng

  • Rolling back from OIM version 11g to 9.1.0.2

    Experts,
    OIM version upgrade from 9.1.0.2 to 11g(11.1.1.5) need to be rolled back due to some error.
    Just wanted to know views of experts.
    Following steps have been completed so far of the upgrade guide [http://docs.oracle.com/cd/E21764_01/upgrade.1111/e10129/upgrade_oim.htm].
    •Task 1: Identify and Prepare Oracle Database for Oracle Identity Manager 11g (Optional)
    •Task 2: Use the Repository Creation Utility to Create the Schema in the Database
    •Task 3: Install Oracle Fusion Middleware
    •Task 4: Use Upgrade Assistant to Upgrade the Oracle Identity Manager Schema
    •Task 5: Create a WebLogic Domain for Oracle Identity Manager
    •Task 6: Start the WebLogic Administration Server
    •Task 7: Configure Oracle Identity Manager Server 11g
    •Task 8: Configure Node Manager to Start Managed Servers
    •Task 9: Start the SOA Managed Server
    •Task 10: Start the Oracle Identity Manager Managed Server
    •Task 11: Stop the Oracle Identity Manager Managed Server
    Rollback strategy:-
    1. Delete extra schemas(SOA MDC etc) created during Task2
    2. Restoring the OIM DB schema (of version 9.1.0.2) from backup.
    3. Updating back path and variables environment with old values
    4. Starting the weblogic and OIM application from old Middleware_home and OIM_HOME.
    Experts,
    Above rollback strategy would be enough or should i take some other point in consideration.
    If you can think of any other thing please share..
    Thanks,
    Manohar

    Yes your strategies seems fine. for dropping schema you can RCU as well.
    for restore, Drop all the entities manually from oim db schema So you don't have any grant issue while importing old 10g dump
    --nayan                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • After lollypop upgrade I can no longer transfer files from LG g3 to windows8 computer using USB charge cord. Can I roll back to Kittcat?

    After lollypop upgrade I can no longer transfer files from LGg3 to windows8 computer using USB charge cord. Can I roll back to Kittcat?

    That is definitely odd, grantcool. Let's help restore this important data transfer feature. To confirm, when you connect the USB cable to your phone and computer > Pull down the Notification Bar > Select USB Connected > Can you choose Media Sync (MTP) ?
    NicandroN_VZW
    Follow us on Twitter @VZWSupport
    If my response answered your question please click the �Correct Answer� button under my response. This ensures others can benefit from our conversation. Thanks in advance for your help with this!!

  • Error message after downloading and install rolled back (using up data limit)

    error message after completing install of trial. then program was rolled back. I do not appreciate using up data allotment unnecesarily, people.Thanks for any assistance.

    Rhumsike which Adobe software or service are you trying to install?  Also which operating system are you using?  Finally what is the error message which you are receiving?

  • Can we call a method before and after Export operations in ADF 11g

    Hi,
    My problem is I have to execute a method before and after the export operation.Is this posible in ADF 11g
    Regards,
    Felix

    Hi,
    in response to a similatr post of yours, I replied
    1. Drop af:exportCollectionActionListener on a command button
    2. set the command button to display = false
    3. In your Java code, call
    ActionEvent ae = new ActionEvent(button);
    ae.queue();
    Everything you put before
    ActionEvent ae = new ActionEvent(button);
    ae.queue();
    will fires as a pre-trigger, everything after as a post trigger
    Frank

  • Roll back in Adapter DataBase using Polling | BPEL 11g

    Hello Guys,
    I'm having a problem with roll back for polling "Update a field in Table(Logical Delete)" in DataBase Adapter BPEL 11g.
    My process is:
    Does polling in the table from the database changed the value in column from 0 for 1 and then put the message on a JMS queue.
    The problem is:
    When an exception occurs in the process, for example, exception when posting message in the queue, he does not roll back the database, then the value in the table column is changed to 1 and not 0 as it should.
    Adapter Data Base:
    Oracle XA
    Properties BPEL(Composite):
    <binding.jca config="XXXX_db.jca">
        <property name="singleton">true</property>
    </binding.jca>
    <component name="XXXXX" version="2.0">
        <implementation.bpel src="XXXXX.bpel"/>
        <property name="bpel.config.transaction" type="xs:string" many="false">required</property>
        <property name="bpel.config.oneWayDeliveryPolicy">sync</property>
    </component>
    Properties JCA of Data Base:
    <property name="DescriptorName" value="XXXXXXXXX"/>
          <property name="QueryName" value="XXXXXXSelect"/>
          <property name="MappingsMetaDataURL" value="XXXXXX-or-mappings.xml"/>
          <property name="PollingStrategy" value="LogicalDeletePollingStrategy"/>
          <property name="MarkReadColumn" value="STATUS"/>
          <property name="MarkReadValue" value="1"/>
          <property name="MarkReservedValue" value="2${weblogic.Name}-${IP}"/>
          <property name="MarkUnreadValue" value="0"/>
          <property name="PollingInterval" value="5"/>
          <property name="MaxRaiseSize" value="1"/>
          <property name="MaxTransactionSize" value="10"/>
          <property name="NumberOfThreads" value="1"/>
          <property name="ReturnSingleResultSet" value="false"/>
    Its roll back?
    Could anyone please help me on this.
    Tks,
    Azevedo, Artur.

    You need to ensure that your process is working in a single transaction.
    You are correctly using the XA datasource.
    Next you need to ensure that you do not have a dehydration point in the process and if there is a call to another BPEL process they are in a same transaction.

  • Transaction rolled back......soa 11g

    I have a bpel process 1 which calls bpel process 2. Bpel process 2 is a file write. In my instance bpel process 2 is called and the file is written successfully. but bpel process 1 gets errored out with no errors being displayed. The bpel process 1 has a red colour at the point where it invokes the child process. and also a line saying transaction rolled back.
    But there is no error in the child process instance
    Please do suggest me the solution.

    The issue may be due to the transaction timeout, verify the configured timeouts and the processing time of the process B.
    Try increasing Sync Max Time Out and the other timeouts accordingly and test it.
    Refer the below URL for the details of configuring the timeouts.
    http://www.albinsblog.com/2011/11/oracle-soa-11g-configure-transaction_20.html
    Regards
    Albin I

  • How to continue a loop after roll back callee a Transaction in SOA

    Hi All,
    I Have main bpel process which calls a external web service which returns  set of records,
    iiterate through the set, i need to store the each record in AQ Topic.
    and ack each and every record after storing them in AQTopic. if the Ack fails i should roll back the previously inserted record from AQ.
    I Divided the XA transaction into two parts by using "checkpoint();" .
    Based on the ack status i called throw activity with Rollback transaction, i handled that using catch all in same scope.but after that process is terminating not iterating through the loop.
    i used XA Datasource.
    please suggest me.
    Thanks Rajashekar.

    Hi PuneetRekhade,
    Thanks for your suggestion.
    After receving the ack=sucess, before storing the Record in the AQ if system crashes Data would no longer exist in Either AQ or external web service Data base .
    the Record shouldn't be lost at any cost.
    in my case, if the system crashes before sending the data to AQ, nothing happens because i wouldn't send the ack to the External web service.
    Thanks
    Raj.

  • One way child BPEL getting rolled back 11g

    Hi,
    I am stuck with a strange issue.
    Here is my design :
    Bpel1
    1. Invoke : Call One way Bpel2 -> Bpel 2 calls DB adapter to insert data to Database
    2. Throw rollback
    When i throw rollback in BPEL 1 both : BPEL 1 & BPEL 2 gets rolled back , I need BPEL 2 to get commit to DB.
    I tried below settings :
    BPEL 1 : weblogic.wsee.wsat.transaction.flowOption = NEVER for calling BPEL 2
    BPEL 1 : bpel.config.onewayDeliveryPolicy = async.persist
    BPEL 2 : Service end point weblogic.wsee.wsat.transaction.flowOption = NEVER
    BPEL 2 : bpel.config.transaction = requiresNew
    BPEL 2: bpel.config.onewayDeliveryPolicy = async.persist
    These settings didnt helped , please suggest.
    Thanks
    Sam

    Hello Sam,
    I have created two one-way BPEL Processes with the same settings you have mentioned. In order for the DB insert in the second BPEL to be saved, you need to add one additional property.
    In BPEL1, for the partnerlink of BPEL2, add the property called 'idempotent' and give its value as false.
    And now test the process again, this time, after calling the BPEL2 from BPEL1, you will be throwing a rollback fault, but the record which is inserted through BPEL2 will be there in the database which is what you want.
    Here the idempotent property saves the current transaction after calling the BPEL2, and starts a new transaction.
    Hope this helps,
    N

  • Further woes after rolling back to 4.9

    So after wasting my last weekend with the install of 5.0 and the subsequent roll-back to 4.9 I now find that 4.9 will no longer import songs. I just get:
    "Error occurred while converting the file "<file name in here>. An unknown error occurred (-14002)"
    Anybody else seen this? I'd do anything to avoid another weekend clearing up another iTunes disaster.

    good man, Brod. okay, we can proceed on two different fronts here.
    b importing fixes
    let's try throwing the standard advice on importing problems at the beast:
    Andrew Doe, "trouble importing the first song of all my CDs" #15, 06:55am Aug 28, 2005 CDT
    http://docs.info.apple.com/article.html?artnum=93453
    also head to Windows update to check to see if you're up to date in that regard. the following references might also be useful:
    http://docs.info.apple.com/article.html?artnum=300252
    toonz, "Where to find firmware for your CD/DVD drive", 05:55pm Apr 15, 2005 CDT
    b temporary workarounds
    hmmmm. is there a specific reason why you need mp3s? can you get away with AAC?
    if you need mp3s, can you still import as mp3 udsing WMP?
    can you try an experimental import into itunes using a lossless format? then switch your importing preferences back to mp3, right-click one of the lossless tracks, and select "convert selection to mp3". do you still get the same conversion error, or can you get mp3s via the two-stage procedure in itunes?
    love, b

  • Roll Back the Sales Order After Adding

    Hi Experts,
    I want to roll back the system form trasaction like Sales Order. After adding the Sales Order immediately i want to roll back the transaction.
    I used the Company.Transaction Object, but it is only working on User Tables. Not in System Forms like Sales Order.
    Can you please tell me the solution for this ASAP.
    Thanks in Advance,
    G.Suresh

    Hi Petr,
    You didnt get my point. In my concern is, i am going to add Sales Order by Manually not using code.
      In FormDataEvent of the Sales Order
                Select Case BusinessObjectInfo.EventType
                    Case SAPbouiCOM.BoEventTypes.et_FORM_DATA_ADD
                     If BusinessObjectInfo.ActionSuccess = True Then
    /***** This Code for getting current transaction of the Sales Order *****/
                            Dim oObject As SAPbobsCOM.Documents
                            oObject = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders)
                            oObject.Browser.GetByKeys(BusinessObjectInfo.ObjectKey).
    /**** here i want to rollback the saved sales order  ****/
                    End If
                  End Select
    Can you tell me, how i ll rollback the already saved transaction which added by user from Sales Order Screen not in code.
    Thanks in Advance,
    G.Suresh.

Maybe you are looking for

  • Performance Issue on Traditional Import and Export

    Scenario ===== Oracle 9i Enterprise Edition (9.2.0.8) Windows Server 2003 (32 bit) --- to --- Oracle 11g Enterprise Edition (11.2.0.3) Windows Server 2008 Standard R2 (64 bit) Hi to all I'm doing a upgrade from 9i to 11g and i am using native imp/exp

  • Two View Objects & One Entity Object

    Has anyone ever had it where they create a row from a view object, set some attributes, insert it into that view object, and it shows up in another view object (as well as the one the row was actually inserted on)? Both of these view objects are usin

  • RecordSets per message

    Hi Im doing a file to file scenario with content conversion. I have 10000 records in the file and i need to split the file using Recordsets per message option. I gave the value as 1000. In SXMB_MONI im getting 10 messages with proper payload. but in

  • Help - I need to remove crop marks set in custom function 3

    Hello All, I need help! I set the custom function 3 to the on position, thinking it would just give me lines to show where an 8x10 crop would be ~ I did not realize that it would actually crop all of my images. I shoot raw and I have imported them in

  • Microsoft Visual C++ Runtime Library X Runtime Error! Program: C:\Program Files... R6034

    The Problelm I am having is at start-up I am getting a pop-up with the following message. Microsoft Visual C++ Runtime Library X Runtime Error! Program: C:\Program Files... R6034  An application has made an attempt to load the C runtime library incor