Nested Transaction required... workaround?

We have a situation that would best be coded with a nested transaction. As J2EE does not support these, are there standard ways to work around this sort of problem? Our situation is:
1. Get a msg from JMS
2. Process the message- involves inserting data into multiple tables...
- If successful- commit msg from queue; commit data.
- If unsuccessful- move msg to error queue; rollback ALL table inserts.
Our current proposed workaround involves around 4 sequential transactions, use of staging tables, etc. etc. I feel there ought to be a cleaner solution.
Ideas most welcome...
Gavin Griffith-Jones

Hi Gavin,
You can do the following:
- If you are not using an EJB, then start a transaction using the Java Transaction API (JTA).
- When obtaining a connection to the database for the inserts, use a transactional datasource.
- Start the transaction within a try/catch block and perform the inserts sequentially. If an exception is thrown, rollback the transaction with the UserTransaction rollback method. This will rollback all the insertions.
- If no exceptions were thrown, then call the tran.commit() method in the try/catch block.
Since there is a lot to do, contain your code in different classes for a cleaner solution.
Best of luck,
Rich

Similar Messages

  • Nested Transaction and J2EE

    Hi,
    I have a question about how J2EE Application server (WAS4.x/5.x) follows the spec for Nested transaction. In a J2EE tutorial at one place it says
    http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Transaction4.html
    following :
    A JTA transaction is controlled by the J2EE transaction manager. You may want to use a JTA transaction because it can span updates to multiple databases from different vendors. A particular DBMS's transaction manager may not work with heterogeneous databases. However, the J2EE transaction manager does have one limitation--it does not support nested transactions. In other words, it cannot start a transaction for an instance until the previous transaction has ended.
    It means I cannot start another transaction while the first one is not completed.
    CASE 1:
    My statefull session bean has method a() and method b().
    Method a() calls Method b().
    I have started userTransaction in Method a() and before commiting
    it I have started another transaction in method b(). like
    Method a() {
    Statrs TX
    calls b()
    Commits TX
    Method b() {
    Starts TX
    Commits TX
    CASE 2:
    What if I use Declarative TX
    and specify method a() requires new
    and method b() also requires new.
    Where, method b() is invoked by method a() in a statefull session
    bean.
    Thanks in advance.

    I had i similar problem and solved it in th following way.
    My first attempt was to call an atomic method which has the transaction attribute "RequiresNew" from a complex method with the transaction attribute "Required". Both methods where located in the same Session EJB class. If the code inside the atomic method fails by an exception, the exception will be catched and ctx.setRollbackOnly( ) be called in the catch block. This does NOT work! So I start reading a lot in the net and in books. I foud that J2EE does not support nested transactions. So that was a shoot in my foot! :-(
    Frustated I went home from work and in the evening I remember some words from Adam Bien, the author of J2EE Patterns. He said that you can build something like nested transactions if you use an additional EJB layer. He said that in the context of a SessionFacade and a set of EntityBeans. But he also said that this will also work with layers of SessionBeans.
    At the next day, I build the addional Session EJB and moved all atomic methods in that Session EJB. So the situation is now like this. My ComplexEJB holds method which define a more complex business process. Each of this processes call a lot of atomic methods from the Atomic EJB. In my case it�s not neccesary that all of this atomic methods have to succeed. OK, the methods with transaction attribute "Required" will proceed as much atomic methods with transaction attribute "RequiresNew" as possible! But if a "hard" Exception occurs the whole transaction is rolled back.
    This works very good for our needs!
    public class ComplexEJB implements SessionBean
        public Collection complexMethod1( Parameter param ) throws BusinessException
         try
                service = this.getAtomicServiceLocal( );
                service.atomicMethod1( param.getSubparam1( ) );
                        service.atomicMethod3( param.getSubparam3( ) );
                        service.atomicMethod1( param.getSubparamN( ) );
                        service.atomicMethod1( param.getSubparam1( ) );
                          catch( "hard" exception like Nullpointer i.e. )
                       //if an "hard" Exception occur rollback the whole transaction
                       ctx.setRollbackOnly( );
        public Collection complexMethodN( Parameter param ) throws BusinessException
         try
            service = this.getAtomicServiceLocal( );
            service.atomicMethod1( param.getSubparam1( ) );
                    service.atomicMethod3( param.getSubparam3( ) );
                    service.atomicMethod1( param.getSubparamN( ) );
                    service.atomicMethod1( param.getSubparam1( ) );
                         catch( "" hard exception like Nullpointer i.e. )
                     //if an "hard" Exception occur rollback the whole transaction
                     ctx.setRollbackOnly( );
    public class AtomicEJB implements SessionBean
        public Collection atomicMethod1( Parameter param ) throws BusinessAtomicException
                try
              //The call to a service i.e. access to database
         catch ( DatabseException cbex )
              ctx.setRollbackOnly(  );
         finally
              //release database connection i.e.
        public Collection atomicMethodN( Parameter param ) throws BusinessAtomicException
                try
              //The call to a service i.e. access to database
         catch ( DatabseException cbex )
              ctx.setRollbackOnly(  );
         finally
              //release database connection i.e.

  • EJB nested transaction handling.

    My situation closely relates to the round-trip planning problem. I have a series of say 5 EJBs (session and entity both involved) doing a particular work. If an error occurs at the EJB 5 stage, I don't want to rollback the work done in EJB 1 and 2 but I want EJB 3 onwards to rollback. Is this kind of nested transaction model possible. Please note that I want to use container-managed-transactions. If not possible, please guide me how can I use bean-managed-transaction to solve it? Thanks in advance for any help.

    Yes, it is possible, but you have to make sure that ANY call to EJB 3 through that method has the same requirements:
    EJB 1 - Transaction = Required
    EJB 2 - Transaction = Required
    EJB 3 - Transaction = Requires New (starts a new transaction, "holds" the one from 1 & 2)
    EJB 4 - Transaction = Requires
    EJB 5 - Transaction = Requires

  • Database connectivity toolset and nested transaction

    Is it possible to make nested transactions with the Database Connectivity Toolset ?
    By nested transactions I mean that I want to open a transaction inside a transaction.
    I use LabVIEW 6.1 and Database Connectivity Toolset 1.1
    Any ideas are welcome.

    You may be able to do this in a different manner. Your options depend on how the database has structured the data. For example you can have a table defining "measures", another table defining "measure setps" and so on.
    Each measure has an ID (MID) and each measure step has an ID (MSID) and these can be related to each other to provide the hierarchy. So in this case you could just get a measure, then query for all the measure steps that match (the MID and MSID) and sort them based on some attribute/criteria and work down in that manner.
    This would provide a clean data architecture and enable you to reuse steps in multiple measures if you needed to. I'm not sure how your database is building the hierarchy, in the end there are some parent ch
    ild relationships defined ... these would be very similar to the IDs referred to above.
    Like you said, had to explain without a picture.
    Regards,
    Kamran

  • Query related with nested transaction

    Friends,
    Today i've been encountered with problem in running a nested transaction and i guess the sample script given below illustrates well abt the same ...
    I've a proc "sp_proc1" as follows
    CREATE OR REPLACE PROCEDURE sp_proc1
    AS
         val INT;     
         BEGIN      
              val := 1;     
              BEGIN SAVEPOINT proc1;                         
              INSERT INTO tab1 VALUES ( 1 , 2 );
              sp_proc2(val);
              ROLLBACK TO SAVEPOINT proc1;               
         END;
    and the called proc is like this
    CREATE OR REPLACE PROCEDURE sp_proc2
         val1 IN      INT DEFAULT NULL
    AS
         BEGIN SAVEPOINT proc2;          
         UPDATE tab1 SET     col1 = 5;
         IF val1 = 0 THEN
         BEGIN
              ROLLBACK TO SAVEPOINT proc2;
         END;
         ELSE
         BEGIN
    COMMIT;
         END;
         END IF;
         END;
    and when i exec the proc1
    ORA-01086: savepoint 'PROC1' never established
    Any suggestions on this .....

    Autonomous transactions are independent units of work and should be completely
    committed of rolled back before returning from an autonomous program unit.
    So anything you do in the calling procedure doesn't affect the autonomous one:
    SQL> create table t (id number);
    Table created.
    SQL> create or replace procedure auto_01
      2  is
      3   pragma autonomous_transaction;
      4  begin
      5   insert into t values(1);
      6   savepoint a;
      7   insert into t values(2);
      8   rollback to savepoint a;
      9   commit;
    10  end;
    11  /
    Procedure created.
    SQL> begin
      2   insert into t values(3);
      3   savepoint a;
      4   auto_01;
      5   insert into t values(4);
      6   rollback to savepoint a;
      7   commit;
      8  end;
      9  /
    PL/SQL procedure successfully completed.
    SQL> select * from t;
            ID
             3
             1Rgds.

  • Nested Transactions are not supported by J2EE.

    I am a relative newbie to J2EE and am trying to get my head around transactions. I will use the following components to illustrate my questions.
    I have two container managed enterprise beans, Bean-1 and Bean-2. Bean-1 has a single method method-A. Bean-2 also has a single method method-B. The code in method-A calls method-B.
    We have the following scenarios:
    1. A servelet calls method-A, starting a new transaction. Method-A calls method-B.
    2. Another servlet calls method-B starting a new transaction.
    And now for my first questions ......
    Am I right in saying that, as the beans are container managed, scenario 1 does not create a nested transaction as the begin and commit are controlled by the container and only issued at the beginning / end of the overall transaction as appropriate.
    Now lets change the set-up slightly. Lets assume that both beans have bean managed transactions using JTA. At the beginning and end of both method calls appropriate begin / commit / abort code is inserted.
    And now the second question ......
    A call to method-B starting a new transaction (scenario 2) works fine. Am I right in saying that a call to method-A under scenario 1 would not be allowed as when method-A calls method-B a nested transaction would occur as both methods have begin / commit code.
    Thanks any help with this query.
    Paul

    hello
    We have a very strange problem in our application.
    I have the following code in an MDB onMessage() metod
    // inserts 100 rows into table1
    //in the dploymentdescriptor method is marked with requiednew
    statelessSessionBean1.generaterowsWithNewTransaction();
    //updates a row in table2
    //in the dploymentdescriptor method is marked with requiednew
    statelessSessionBean2.updaterow1WithNewTransaction();
    //updates a row in table3
    //in the dploymentdescriptor method is marked with requiednew
    statelessSessionBean3.updaterow2WithNewTransaction();
    when the above code is successfully executed and transactions are
    committed succussfully, we have at times the situation like the first
    100 lines inserted into DB are not available but the other two table
    rows are updated. After a while if we see again in DB we are finding
    the 100 rows as well. Again this situation happens very sporadically.
    Any help would be appreciated. Thanks in advance.
    Venkat

  • New transaction - require variant selection to be disabled

    hi all
    I have created a new report transaction which runs an existing custom program of ours, with a specific variant which greys out most of the fields in the transaction (this is for the sake of security as the program is normally only ever run by a day end batch job).
    However, when running the transaction, the user can simply change the variant to an existing one where the fields are not greyed out!
    Is there any way within the transaction definition of "locking" the start variant so it cannot be changed?
    Thanks
    Jon

    May be try this way
    Make check for field values by the following code
    form f_get_variant.
      data : v_field like dd03l-fieldname.
      move SY-SLSET to v_variant.   " <<<<<
      call function 'RS_VARIANT_CONTENTS'
        exporting
          report               = 'YATT3010'
          variant              = v_variant
        tables
          valutab              = i_params
        exceptions
          variant_non_existent = 1
          variant_obsolete     = 2
          others               = 3.
      if sy-subrc eq 0.
        loop at i_params.
          assign (i_params-selname) to <fs>.
          <fs> = i_params-low.  " Make a check here for fields you want user's cannot change the value
        endloop.
      endif.
    endform.                                 " F_get_variant

  • Is there a minimum system requirement workaround?

    I know that developers recommend, or force, minimum system requirements for a reason, to give the users the best experiance. However, this negates system upgrades (especially from third-parties). For example, I wish to run encyclopaedia britannica 2007 on my dual 1.6GHz powermac G4, the minimum being a G5 processor. Surely this configuration is enough. My question is 'is there a way I can bypass this check on, not just britannica, but other software (e.g. is there an application to 'fool' the system)?' Thanks alot.

    One thing to note is that developers usually will not support their products on systems that don't meet the published minimums. So if you get it to install but have a problem, it''s quite likely that the publisher will refuse to assist. So think about that before purchasing any product that doesn't meet the minimums.
    And I'd highly recommend that you confirm that any such product will at least install on your system before you buy the software; some installer checks flat cannot be bypassed.
    is there an application to feign higher system components?
    No.

  • Nested EL requirement

    Hi ppl,
    I have a managed/referenced bean declared in my faces-config file. Structure is like so:-
    The " userProfile " bean contains a "menuMap" HashMap which in turn contains the "menuId" as a Key and a "menuDetail" Object as a value. Within the "menuDetail" object, i have a string/boolean value that i need to get hold of . Is it possible to get hold of this through EL within my faces-config file ?
    Would something like #{  [b]( userProfile.menuMap['menuId'] ) . isAllowed}
    work ?
    Cheers
    K

    Hey Frank,
    Im going ahead and giving it a test run , although a couple of doubts, i have the main bean which has a hashmap which in turn has some field values that i want to access ( isAllowed is a boolean value in my previous stated post) . Even if i were to resolve the menuMap object , would i have to declare another managed bean in the faces-config to identify the object that is held as a value in my HashMap, or would just setting this in the value class declaration of my HashMap suffice?
    another query , i populate all these only once within a method called in my UserProfile at time of login. Should i independently declare these as managed beans , would their values actually get set ? ( i was under the impression that the managed-property tag is responsible for setting values on these ..)
    thanks
    K

  • RequiresNew transaction fails in case of nested EJB, is it known issue ?

    Hi friends,
    we are facing a peculiar problem across entire application. All the nested ejb transactions with transaction attribute as RequiresNew fail, when the main transaction fails.
    This is wrong as,  if a nested transaction has attribute as RequiresNew , it should succeed even if main transaction fails. It works fine with websphere
    for e.g
    EJB A has methodA(), which calls methodB() of EJB B. methodB() inserts few rows in DB and returns to caller methodA(). Now methodA() fails due to some reason.
    In case of Netweaver 04s the rows inserted by mentodB() are rolled back which is wrong.
    Is this a known issue ? Is there any work around ?

    Hi All,
    Still this thread is unanswered, Is there any genius who has done Transaction handling on Adpaters (MQ or JMS). I have look into may threads on forums, but no appropriate information is given about this issue. If this thread is been answered then it will be very helpfull for othes dealing with transaction in MQ.
    Thanks
    Sunil

  • Cmp and required transaction

    Hi,
    I have a session bean starting a transaction ("requires new" in ejb descriptor),
    that bean is calling another session bean which has "required", this one is then
    setting some attributes in a CMP (setXxx), that also has required and then it
    throws an exception, the first session bean catches it and rolls back. But when
    I check in the db the value set by setXxx has been updated, shouldn't the whole
    transaction be rolled back?
    Thanks,
    A.

    Hi,
    I have a session bean starting a transaction ("requires new" in ejb descriptor),
    that bean is calling another session bean which has "required", this one is then
    setting some attributes in a CMP (setXxx), that also has required and then it
    throws an exception, the first session bean catches it and rolls back. But when
    I check in the db the value set by setXxx has been updated, shouldn't the whole
    transaction be rolled back?
    Thanks,
    A.

  • EJB 3.0 MDB and transactions

    I'm trying to use an XA topic connection factory in my MDB, I was getting a "not supported in this release" error until I added this annotation to my MDB:
    @MessageDrivenDeployment(
    resourceAdapter = "myProviderInstance"
    But now my MDB is no longer dequeuing messages.
    I found the following in the docs (http://download-west.oracle.com/docs/cd/B31017_01/web.1013/b28221/undejdev010.htm#CCHGGHAE)
    --- BEGIN QUOTE FROM ORACLE DOCS ---
    If you use @MessageDrivenDeployment, you can configure message service options using nested @ActivationConfigProperty annotations or using @MessageDrivenDeployment attributes: @ActivationConfigProperty configuration overrides @MessageDrivenDeployment attributes.
    If you use @MessageDriven, you can configure message service options using nested @ActivationConfigProperty annotations only.
    If you configure using @MessageDrivenDeployment attributes, your application can only access a message service provider without a J2CA resource adapter. If later you decide to access your message service provider using a J2CA resource adapter, your application will fail to deploy. If you configure using nested @ActivationConfigProperty annotations, your application can access a message service provider with or without a J2CA resource adapter. Oracle recommends that if you configure using annotations, you should use the @ActivationConfigProperty approach.
    Example 2-6 shows both a @MessageDrivenDeployment and @MessageDriven annotation using @ActivationConfigProperty annotations for message service configuration. Note that the DestinationName activation configuration property in the @MessageDrivenDeployment annotation overrides that in the @MessageDriven annotation.
    Example 2-6 @MessageDriven and @MessageDrivenDeployment Annotation for a J2CA Message Service Provider
    import javax.ejb.MessageDriven;
    import oracle.j2ee.ejb.MessageDrivenDeployment;
    import javax.ejb.ActivationConfigProperty;
    import javax.jms.Message;
    import javax.jms.MessageListener;
    @MessageDriven(
    activationConfig = {
    @ActivationConfigProperty(
    propertyName="DestinationName", propertyValue="OracleASjms/MyQueue"
    @MessageDrivenDeployment(
    activationConfig = {
    @ActivationConfigProperty(
    propertyName="DestinationName", propertyValue="OracleASjms/DeployedQueue"
    @ActivationConfigProperty(
    propertyName="ResourceAdapter", propertyValue="OracleASjms"
    --- END QUOTE FROM ORACLE DOCS ---
    So, instead of specifying the resource adapter as I had above, I simply pasted the last bit of annotations from the docs into my MDB, and much to my surprise I learned that you can't have an activationConfig in a @MessageDrivenDeployment
    What's the solution?

    OK, I got a little further. Everything works now as such
    I'm using the XA topic connection factory, I'm using the resource adapter.
    BUT, when I set the transaction required attribute on the MDB, I no longer receive messages.
    No errors are logged anywhere. Any suggestions?

  • Require Configuration Details regarding JDBC Sender Adapter Parameters

    Hi All,
    I have a scenario in which I need to read around 2 million records from an SQL Server table and process.
    Since the data content is very huge, I have decided to split the data and execute.
    So, in the select statement of my SQL Server Query, I used Select top(2000) from table name with my where condition.
    In the update statenment, I used update tablename set my required values from (my select query written above).
    QOS -> EOIO
    I have given the queuename as my tablename
    Poll Interval is "120" seconds.
    My idea is to process 2000 records at a time.
    When I am executing this interface through RWB, I am getting an error in update statement saying
    The JDBC driver returned the following error message: 'com.microsoft.sqlserver.jdbc.SQLServerException: Unable to start a nested transaction for OLE DB provider "SQLNCLI" for linked server (serverdetails). A nested transaction was required because the XACT_ABORT option was set to OFF.'. For details, contact your database server vendor."
    I have also tried in advanced tab the name of the variable as XACT_ABORT and its value as "ON", but to no avail.
    Please let me know if I have missed anything. Do I need to set any additional parameters in the advanced tab of JDBC sender communication channel?
    Any help is highly appreciated.
    Regards
    Kiran.

    HI Kiran
    Fist of all suggestion is to increase the polling time. It may not process 2000 records in 120 second and you will poll again.
    Paste your query to check if there is a problem
    Also do check with SAP Note 831162 to verify if there is something you are doing wrong.
    Thanks
    Gaurav

  • Transaction marked rolled back

    Hi
    I'm have a FacadeBean F1 which uses Required transaction attribute which calls another Session Bean S1 which has default transaction attribute(Supports).This uses customized UserTransaction.
    In bean S1 this is the sequence of steps
    Method{
    insert into db
    try{
    userTransactionBegin.
    do some process
    userTransaction commit.
    }catch{
    userTransaction rollback
    }finally{
    update
    Now when a exception is thrown in the process section,The user transaction is rolled back but i get the following exception in the finally block when trying to update some table in DB.
    Transaction BEA1-0EB167DB585FC3E8BBFA not active anymore. tx status = Marked rollback.
    I believe this happens as the rollback in userTransaction would also cause the transaction to get inactivated and the request to get the fresh DB connection is thrown back with this exception.
    Can someone please suggest me what i should do to resolve this issue.
    Rgds
    Ramraj

    Ramraj Chauhan wrote:
    Hi
    I'm have a FacadeBean F1 which uses Required transaction attribute which calls another Session Bean S1 which has default transaction attribute(Supports).This uses customized UserTransaction.
    In bean S1 this is the sequence of steps
    Method{
    insert into db
    try{
    userTransactionBegin.
    do some process
    userTransaction commit.
    }catch{
    userTransaction rollback
    }finally{
    update
    Now when a exception is thrown in the process section,The user transaction is rolled back but i get the following exception in the finally block when trying to update some table in DB.
    Transaction BEA1-0EB167DB585FC3E8BBFA not active anymore. tx status = Marked rollback.
    I believe this happens as the rollback in userTransaction would also cause the transaction to get inactivated and the request to get the fresh DB connection is thrown back with this exception.
    Can someone please suggest me what i should do to resolve this issue.
    Rgds
    RamrajHi. You are doing your own tx in the S1 bean, so that beand should be described as
    a no-TX (doesn't support tx) bean. That way WLS won't try to involve it in any
    calling transaction or control what you do, which is totally independent. You
    can't have 'nested' transactions.
    Joe

  • JTA Transaction and CUrrent Session

    We have the following problem. We configured hibernate with
    jta and when we execute a simple code that performs some hibernate
    queries we get the following error:
    "org.hibernate.LazyInitializationException: could not
    initialize proxy - the owning Session was closed"
    We discovered that if we leave the session opened the error
    disapears, but on the long run this crashes the server throwing a
    JDBC connection error.
    We tried to use getCurrentSession() instead of opening the
    session manualy but in this case we get the following error:
    "org.hibernate.HibernateException : Unable to locate current
    UserTransaction"
    This its quite strange because the current session should be
    bound to the current user transaction and its seems to us that our
    hibernate cfg file its ok.
    I´am posting part of my hibernate cfg file and the code
    that I execute.
    hibernate.cfg.xml
    <hibernate-configuration>
    <session-factory name="java:/hibernate/SessionFactory">
    <property
    name="hibernate.connection.datasource">java:fiap</property>
    <property
    name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
    <!-- Enable Hibernate's automatic session context
    management -->
    <property
    name="hibernate.current_session_context_class">jta</property>
    <property
    name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactor y</property>
    <property
    name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransact ionManagerLookup</property>
    <property
    name="jta.UserTransaction">java:comp/UserTransaction</property>
    <!-- <property
    name="connection.release_mode">after_statement</property>
    -->
    <!-- <property
    name="hibernate.transaction.flush_before_completion">true</property>-->
    <property
    name="hibernate.transaction.auto_close_session">true</property>
    and my java Code:
    try {
    tx = HUtil.getTx(); //JNDI lookup
    tx.begin();
    session = HUtil.getSessionFactory().getCurrentSession();
    //JNDI Lookup
    //session = HUtil.getSessionFactory().openSession();
    Query query = session.createQuery("from Persona where
    username = ?");
    query.setString(0, userName);
    persona = (Persona) query.uniqueResult();
    query = session.createQuery("from Festival where id = ?");
    query.setInteger(0, idFestival);
    festival = (Festival) query.uniqueResult();
    if (persona != null && festival != null) {
    query = session.createQuery("from Inscripcion where
    inscribeA = :persona " +
    "AND inscriptosEn = :festival");
    query.setParameter("persona", persona);
    query.setParameter("festival", festival);
    inscripcion = (Inscripcion) query.uniqueResult();
    return inscripcion;
    } catch (Exception e) {
    e.printStackTrace();
    throw e;
    } finally {
    tx.commit();
    //session.close();
    thanks

    The scenario you described is typical ... "If a client calls m1" ... there are 2 cases:
    (1) the client is already in a trans
    (2) not (1)
    Let (1). This is the case of a Client Controlled Transaction ... etc ... when s1 is called it begins a transaction in the client transactional context ... hence s1 can't call a kind of roolback but can force the rollback of the global transaction marking EJBContext.setRollbackOnly() ... s2 uses the same transactional context ... anayway the client is the only one that can commit. This happens because of "transaction required" as the transaction attribute, that in this case forces a flat transaction model. Different is the case if you uses "requiredNew" --> nested trans model ...
    (2) is the same of (1) except that the trans starts at application tier.
    "I still have one doubt. Wouldn't the stateless session bean loose the transaction context once I exit the second stateles session bean's method? Isn't that what stateless means? "
    No:
    stateless doesn't stay for the transaction context but for the conversational state with the client ... that is serializable ... it makes the beans more poolable ... that the stateful session bean has
    bye

Maybe you are looking for

  • What is use of index by binaary_integer

    Hi All, I have created to program of collection where we use index by binaary_integer in one program and not use index by binaary_integer in second program, but result is same, any body help me what is use of index by binaary_integer here 1- Declare

  • Xorg 1.5 and keyboard map (I read the other threads)

    Hi there! I "pacman -Syu"-ed just now, but my keymap won't load anymore. It defaults to the US one. Anyway, I get this error: Error activating XKB configuration. It can happen under various circumstances: - a bug in libxklavier library - a bug in X s

  • How to display String/text in a JFrame ?

    Hi, I set up a simple browser and pinging a server (say localhost). Then under that server directory, I am looking for a file. Then, I use input or output stream to bounce the text back to browser to display out on the screen. It was successful. But,

  • What RAID drivers do I use

    Hello, In my infinate wisdow I scrambled the brains of my unit  :rolleyes_anim:and now must start from scratch. I cannot find the floppy disk that came with my logic board and want to know what drivers do I use to set up my RAID0 during the initial p

  • Is there any problem with the new update 6.1.2 for iphone 5?

    After I updated my iphone 5 to the new update there seems to be some difficulties with the camera. I get pink lines everywhere. It is a matter of seconds before it gets clear and again pink. But the problem started after the update. I asked other peo