7 Replies Latest reply on Jul 10, 2006 1:30 PM by gavin.king

    entity beans binding to stateless context

    balamg

      as per the documentation, entity beans may never be bound to stateless context.
      why is this so ? if i want to update an entity bean on a per-request basis then i could create a SLSB and inject the entity bean and update it from the action method of the SLSB. ?

        • 1. Re: entity beans binding to stateless context
          theute

          Entity bean would have nothing to do in a stateless context. Remember stateless = no state. On second request you would have an empty entity bean.

          Keep you SLSB and put your entity bean in a conversation or session.

          • 2. Re: entity beans binding to stateless context
            balamg

            thanks. are the cached entity beans (in the session /conversation context) "attached" to the underlying persistence session between requests. if not, does the framework "attach" them for each call ? when the bean is changed (via a form), does the framwork merge the changes automatically to the d/b. if so what happens to the "state" of the entity bean in some other session.

            • 3. Re: entity beans binding to stateless context
              gavin.king

               

              "balamg" wrote:
              as per the documentation, entity beans may never be bound to stateless context.
              why is this so ? if i want to update an entity bean on a per-request basis then i could create a SLSB and inject the entity bean and update it from the action method of the SLSB. ?


              You _can_ bind an entity bean to the request context.

              • 4. Re: entity beans binding to stateless context
                gavin.king

                 

                "balamg" wrote:
                thanks. are the cached entity beans (in the session /conversation context) "attached" to the underlying persistence session between requests.


                Yes if

                (a) the entity bean is conversation scoped
                (b) you use a seam-managed PC or a conversation-scoped SFSB with an extended PC

                • 5. Re: entity beans binding to stateless context
                  balamg

                  i have tried to use option (b) above.
                  so in the code, i simply modified the entity bean hoping that the changes would get commited without explicitly invoking the entity manager, but this did not happen.

                  i also annotated the method as @Destroy @Remove -- how can i cause the SFSB to be removed (from application code)

                  and also tried with @End. none of this commited changes to the DB. am i missing anything ?

                  • 6. Re: entity beans binding to stateless context
                    balamg

                    i would assume that when a method annotated with @Remove @Destroy is executed (SFSB), the persistent context is flushed and changes commited to the DB when this method is invoked ?

                    i dont see the modifications to the entity beans being commited to the DB after the execution of the above annotated method.

                    is anything missing ?

                    • 7. Re: entity beans binding to stateless context
                      gavin.king

                      You must retrieve the entity from the conversation-scoped PC, and then whenever a transaction commits, changes to the entity will be flushed to the database.