next up previous
Next: Integração com o Invocador Up: ep2 Previous: Suas Tarefas

Interface entre a Biblioteca Cliente e o Service MBean

A biblioteca cliente poderia interagir com o service MBean usando apenas as interfaces do OTS já mencionadas (TransactionFactory, Control, Terminator e Coordinator). Mesmo assim, é conveniente que o service MBean implemente também uma nova interface, cujo único propósito é minimizar o número de chamadas remotas:

  // interface IDL que estende a interface CosTransactions::TransactionFactory 
  module org {

      module jboss {

          module tm {

              interface TransactionFactoryExt : CosTransactions::TransactionFactory {
                  CosTransactions::PropagationContext create_context(
                                                           in unsigned long time_out);
              };
          };
      };
  };

Essa interface estende TransactionFactory com uma operação que cria uma transação e retorna o contexto transacional correspondente. A nova operação (create_context) substitui uma sequência de três chamadas a operações definidas pelo OTS: uma chamada a create, seguida de uma chamada a get_coordinator (sobre o objeto Control retornado por create) e de uma chamada a get_txcontext (sobre o objeto Coodinator retornado por get_coordinator).



Francisco Reverbel
2003-10-23