How to handle Transactions avoiding EJB

I am using EJB just to use its transaction feature. I know EJB is heavy and there must be other better ways to handle transactions.Could anybody let me know how to JTA (java transaction APIs) in JBDC or if there is any other recommended way to handle Transactions.
Many Thanks.

Google for "JTA tutorials".
It brought back these:
http://java.sun.com/products/jta/
http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Transaction4.html#63068

Similar Messages

  • How to handle transaction exception

    Hi,
    I am using jdev 11g.
    I need to catch the exception in my transaction like (table not found, column must not be null, column not found, ...)
    hereunder is my code.
      public void saveOsaUser(OsaUser osaUser) throws Exception {
        EntityManager em = getEntityManager();
        try {
          utx.begin();
          em.joinTransaction();
          em.persist(osaUser);
          utx.commit();
        } catch (Exception ex) {
          try {
            utx.rollback();
            throw new Exception(ex.getLocalizedMessage());
          } catch (SQLException sqle) {
            throw new Exception(sqle.getLocalizedMessage());
          } catch (IllegalArgumentException iae) {
            throw new Exception(iae.getLocalizedMessage());
          } catch (EJBException ejbe) {
            throw new Exception(ejbe.getLocalizedMessage());
          } catch (RuntimeException re) {
            throw new Exception(re.getLocalizedMessage());
          } catch (Exception e) {
            throw new Exception(e.getLocalizedMessage());
        } finally {
          em.close();
      }Whatever the error type, i always get the message : Transaction does not exist.
    Kindly advice how can handle these SQL error (table not found, column must not be null, column not found, ...)
    Regards
    Emile BITAR

    Repost

  • How to handle transaction control--- in the dbms query or in JDBC? or BOTH?

    Hi all,
    we have a servlet application which do insert, update to a few sybase tables. so far we don't have any transaction management control in either store procedure or in JDBC call. i like to know where should we enforce this control logic? in both place or either one is enough?
    thanks!!

    according to your answer, is it safe to say that we
    should NOT
    handle transaction control in both query and JDBC
    call? i am on the side of JDBC
    program control. However our manager feels that if we
    handle it in two place, we could be more error-proof.
    i don't know how to convince him that only one place
    could make it work. Double your rollbacks double your fun! Odd that a manager is getting involved at this level...
    Providing transaction control at both places, as a rule makes absolutely no sense at all (to me). I actually believe that this would be far more error-prone (not error-proof). It's really a logistics issue. When you are working on the Java code, you won't have the stored procedure(s) code right there. While you may design it masterfully at first, as maintenance occurs, the mastery can easily be lost as assumptions are made on when and where commit or rollback processing is going to take place. The end result would be a system that could easily corrupt the logical integrity of the database.
    If you have to make a decision up front, and you believe performance will ultimately be a concern, then your decision should be to handle transaction management within the stored procedure(s). However, this decision will make the stored procedures far more complex than what the DBA or application staff is familiar with. You would also have to take some care to release resources as appropriate within the Java code.
    If you decide to manage transactions within JDBC, it is possible that you will have to move a portion of transaction managment to one or two of the stored procedures. This would be a 'fix' for a poorly performing functionality, and you would simply take care to limit this as much as possible.
    I wish I could guide you specifically, but I'm working at 20,000 feet related to your specific application needs.

  • How to handle transaction SWEC

    Hi All ,
    I need to understand how and what transaction SWEC does.Please kindly help me.
    and Also , specifically I need to know what is FIELD RESTRICTION for.
    Please reply.

    Hi,
    Have you worked on Workflows. If yes then you would have used it to a very large extent. This transaction is mainly used to trigger an event used in workflow. For example you create a PO and know there is a workflow created for Approval of this. Now you have to trigger this. So you have to put an entry in this transaction of that Object Class and on what case it should work.
    Regarding Field Restrictions:
    For example you want to notify say Purchasing Department when a PO gets Changed. If the radio Button is selected for PO Change then if there is a change in the text of a PO which would not be of high importance even then the Workflow related will trigger and notify the respective person.
    Now to restrict it say only when quantity, plant or material is changed the event should be triggered. In this case changes other than these will not trigger the event hence the workflow.
    hope this would have given you some clear picture.
    Thanks,
    Prashanth
    Edited by: Prashanth KR on Feb 12, 2009 9:53 AM

  • How to handle transactions when two different databases are involved.

    consider two tables namely Table-A and Table-B part of two different databases namely ORACLE and MYSQL.
    Now the project requirement is updating the Table-A(ORACLE) and Table-B (MYSQL) as one transaction. i.e. either update both the tables or rollback both the tables.
    Now my question is how could i handle this situation using JDBC(Type-4) driver.Because i think at a time only one JDBC driver can be loaded into the JVM.

    NareshAnkuskani wrote:
    Now my question is how could i handle this situation using JDBC(Type-4) driver.Because i think at a time only one JDBC driver can be loaded into the JVM.No, that is not true.
    But anyway, you need to use distributed (XA) transactions. i believe that the latest version (5.0) of mysql actually has support for XA transactions. you need to use a to setup a distributed transaction and attach the connections for the two databases to that transaction. then it should function as you desire.

  • How to handle transactional data?

    Hello,
    I try to do a customer analyse with ODM, for that
    I collect from some different tables many of attributes,
    some of them are transactional.
    How I understand the ODM manual, I have to select for
    the analyse that the data are in the transactional
    format, but what I could do if there are not only 3
    different columns, which define the transaction? Whit
    other words I have more than one attribute which is
    transactional.
    Is the right Selection of the data format important for
    the results, or could I use the single data format, if I
    could not to do that, which alternative I have?
    M. Neudeck

    Hi,
    What version of ODM are you using.
    If you are using ODM 10.1, you have the option of either using the java api or the pl/sql api. Each api has a different approach for handling txn data.
    The java api will accept only a single txn format table (case id, name, value). This table can contain a mixture of data that are not of the same metric. You could have quanities, counts, categoricals etc.
    The plsql api has a custom object type for nested numericals or nested categoricals that you use to create a nested table as a column. You can create multiple columns as nested tables in your input table for model build.
    As to data format, that issue is also api dependent. In java,you can specify the mining type in the mining function setting. In pl/sql, the mining type is based on the data type, so data type is very important.
    Thanks, Mark

  • Handle transaction in web dynpro

    Hi,
    How to handle transaction in web dynpro applications which is using Adaptive RFC model ?
    Thanks,
    Teja

    Hello Teja,
    Please refer tutorial at https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d352a790-0201-0010-5082-b1a608d22b6c.
    I hope it will help u to understand transaction handling in wd.
    Best Regards,
    Pankaj Sharma

  • Handle transaction in web dynpro applications

    Hello,
    can you please tell me How to handle transaction in web dynpro applications which is using Adaptive RFC model ?
    Thanks,
    Teja

    Hi,
    please see this [thread|Link to SAP Transaction using WebDynpro for Java;
    regards,

  • How to start and finish a transaction using EJB 3.0 in JDeveloper

    Hello everybody!
    Does anybody can explain how to start and finish a transaction using EJB 3.0. I need to start a transaction insert some information in some tables and if everything was fine commit the information.
    I put the annotation @TransactionManagement(TransactionManagementType.BEAN) in my session bean and @Resource SessionContext ejbContext; but I don't what anything else I have to do.
    Any help will be appreciate.

    I tryied to use in the client the statement EntityTransaction transaction = myBean.getTransact(); but I receive the EJBException: Cannot use resource level transactions with a container managed EntityManager
    I just need to start a transaction something like this: transaction.begin(); and finish the transaction, something like this: transaction.commit();
    Does anybody can help?

  • How to handle the call transaction in method of a custom business object

    Hello all,
    There is a custom report " RPTCORAPP" for approving leaves . As per my requirement i have develop a copy of leave workflow and for approval process i have call  "RPTCORAPP" in Custom method of custom object. i have made a transaction for this custom report for approving attendances. I am calling this method though call transaction statement within method.
    Problem: while approving the attendance workitem is not disappearing from the portal. Problem is due to call transaction statement.
                   once workitem come to the user, user click on it. control goes to the report, which display all the leave to approve on
                   the portal.
                   If after approving/ rejecting attendance user close the screen.workflow remain in the "process" status.Control wont come  back after call transaction statement in the method.
                 At the same time if user clicks on back button inspite of closing the screen. it is working fine. workitem disappears from the portal.
    How to handle the scenarion. if after approving/rejecting, i want the control to come back to the NEXT STATEMENT after call transactionstatement in my method.
    Please help it out........:)

    Hi swami,
    thanks for reply. but i am not using BDC in my method. iam just calling a custom transaction thriugh statement
    Call transaction 'ZHR_APPROVE_CLINOUT'. This transaction directly run the report RPTCORAPP and display all the request.

  • In bdc how we handle page phone area in transaction pa30

    in bdc how we handle page phone area in transaction pa30.suppose one maintain phone no but not pager no.in that case how we will handle

    in my system ..i have phone number only displayed...if you want to put page number also then add a ddition qualifier like PG or some number by contacting functional guys..
    regards:)

  • How to handle bdc for more than one transaction?

    how to handle bdc for more than one transaction?

    Hi srk,
    I am providing you with some references below. Hope this prove to be helpful to you.
    Method 1:
    Use one BDC_OPEN_GROUP
    Multiple BDC_INSERT 
    One BDC_CLOSE_GROUP.
    Call function BDC_OPENGROUP.
    Build BDC data and call lBDC_INSERT for transaction 1
    Build BDC data and call lBDC_INSERT for transaction 2
    Build BDC data and call lBDC_INSERT for transaction 3
    paas the tcodes to bdc_insert.
    call function BDC_CLOSE_GROUP.
    Also check this out:
    Here we need to record 2 transactions (shdb).
    Once completion of the recording. Populate the data into input internal table .
    Loop the internal table and process the 2 transactions
    like
    1. BDC_OPEN_GROUP
    2. LOOP AT ITAB
    a. Populate first transaction recording data
    and pass transaction to the BDC_INSERT_GROUP.
    BDC_INSERT_GROUP.
    b. Populate second transaction recording data
    and pass transaction to the BDC_INSERT_GROUP.
    BDC_INSERT_GROUP.
    ENDLOOP.
    3. BDC_CLOSE_GROUP
    the above info can be found at : How to use 2 transactions in BDC?
    Also check this out:
    Suppose u have created recordings for transactions 'MM01' 'XK01' and 'VA01'.
    Then do this:
    bdc_open_group.
    after this we have to fill the bdcdata structure for one transaction.here 'MM01'.
    bdc_insert.
    refresh bdcdata.
    after this we have to fill the bdcdata structure for one transaction.here 'xk01'.
    bdc_insert .
    refresh bdcdata.
    after this we have to fill the bdcdata structure for one transaction.here 'va01'.
    bdc_insert.
    bdc_close_group.
    Hope these are useful to you.
    Please reward if any of the above are useful.
    Regards,
    Kalyan

  • How to handle currency & unit fields in call transaction?

    Hi,
    Can any one tell me How to handle currency & unit fields in call transaction? & how to dael with error for this fields? whith some sort of coding.
    Thanks In Advance.
    Pravin

    Hi Pravin,
    The same topic has been discussed in the following thread:
    How to handle currency & unit fields in BDC recording method?
    Regards,
    Chandra Sekhar

  • How to handle more then one transaction in bdc

    how to handle more then one transaction in bdc

    Hi vinod,
    Call one BDC after the another, Like if u want to create a sales order and then correspondingly display it as well, u can capture the sales order created afer ur first BDC theu the messages mostly in SYMSGV1 and using this u can do a call txn skip first screne of VA03.
    If u are talking about session, get 2 session names and move them to different sessions or if both txn are dependant on each other, move it one after the other thru call txn. It is the same, howmany ever trx u wabnt to post thru BDC.
    Award points if this helps.

  • How can I control the EJB's Transaction with entity bean

    If I use entity bean, the Transaction is managed by container.and I want to create JDBC Connection by myselft ,not the Datasource,how is the transaction is controlled by the container,if transaction is not controlled ,how can I control it??

    Hi,
    If you want to control the transaction your self then you need to use javax.transaction.UserTransaction interface and methods defined by it.
    Hope this helps
    Vishal

Maybe you are looking for

  • How to change the suffix for externally edited files?

    Hi, How can I change the suffix Lightroom adds to externally edited files? If I want it to be "-E" instead of "-Edit" for example, or "-Mod" instead of the long and ugly "-Modifier" in french version. That would help me to get shorter filenames. Than

  • Remove element in linked list linked list

    here's my codes public class Student     private String name, matric;     public Student(){}     public Student( String name, String matric)        this.name = name;        this.matric = matric;      public String getName()      { return name;}     

  • Multiple Application Servers - Same class instance

    Hi, Due to increasing load we have to add multiple Web Servers and Application Servers (custom built) for our Web Application. As currently we are using 'synchronized' for adding and releasing connection in ConnectionPool and also using static in sev

  • Install Aperture on MacBook Pro Retina

    Hello, I just unboxed brand new MacBook Pro 13'' with Retina and trying to install Aperture... Recent Aperture from AppStore requires 10.8.2 MacBook came with 10.8.1, If I am trying to install OS Mountain Lion (10.8.2) from the store it complains: "W

  • Howto efficiently Copy array into data portal

    I have an array in VBS memory and would like to create an channel in the data-portal based on that data-set, I currently use this code construct to copy the data: ' intChannelCount is the number of samples 'MaxHold is the data array to be copied 'oFF