2 Replies Latest reply: May 29, 2013 1:43 PM by glauser RSS

    Event Object and DB-Session / Threading

    glauser
      There are two questions about the new (Forms 11g) Event Object I didn't find any answers in the documentation so far:

      Does Forms Server open additional sessions with the database to dequeue messages for the new (11g) Event Object. And if yes, is there one per forms session, or one per database x Forms Server Instance ?

      Are processing of the event trigger and other processing steps serialized, or is it done in different threads an as such can happen at the same time ?

      Pascal
        • 1. Re: Event Object and DB-Session / Threading
          Michael Ferrante-Oracle
          Each Forms runtime (frmweb) session is unique to each user session. Its access to the queue is unrelated to any other runtime process except the one hosting the form for your unique session. In other words, Forms runtime process 1 is responsible for user session1 only. It is this same proc that will be communicating with the db to collect queried data or AQ information, or any other db info for this session.

          More details can be found here:

          http://docs.oracle.com/cd/E38115_01/doc.111210/e24477/server_events.htm

          If you don't find answers to your questions in this doc reference, please explain what exactly you are trying to troubleshoot or understand.
          • 2. Re: Event Object and DB-Session / Threading
            glauser
            Thank you for your answer, Michael.

            I just wanted do be sure not to double the number of DB-Sessions simply by using database events in a form. I imagined a model where a dequeue call was spawned during the whole lifetime of a runform session (or the form beeing active, depending on the scope attribute of the event object). But your answer and the one paragraph in the documentation

            The queue is checked for messages once there are no more current operations to be performed

            make clear that this is not the case. I now think, a dequeue call is started when a runform session is idle, and aborted when there is an operation to be executed by forms.

            Pascal