Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
Se não ocorrer nenhum erro durante o ciclo de transação, o bloco Commit da transação (commit transaction
) irá confirma todas as ações realizadas desde o início da transação com o namespace selecionado.
Figura 1 - Bloco Commit da Transação
Nota |
---|
Este bloco utiliza a interface Java TransactionManager. Ela define métodos para possibilitar que o servidor de aplicações gerencie os limites de transações na thread. Dessa forma, o Cronapp oferece um serviço de controle de transação que aguardará o final da thread para definir se irá atualizar o banco de dados (commit) ou não realizar nenhuma ação (rollback). Por isso é importante entender a necessidade do projeto e saber quando utilizar os blocos de transação, evitando, por exemplo, fechar um ciclo de transação fora do escopo da função de bloco de programação. |
Compatibilidade
- Bloco servidor: cronapi.database.Operations.commitTransaction()
Retorno
O bloco não possui retorno.
Parâmetros
O bloco não possui parâmetros.
Características do bloco
O bloco Commit da Transação é vinculado ao namespace da aplicação. Por padrão o Cronapp possui o namespace "app", o qual será utilizado neste exemplo. Para configurá-lo clique no ícone de engrenagem (seta da figura 2), em seguida, será aberta a janela com uma caixa de seleção solicitando a escolha do namespace.
Figura 2 - Seleção do namespace
Exemplo
Inicialmente criamos uma entidade denominada "carro" no Diagrama de dados, em seguida, criamos uma view, na qual inserimos dois componentes: entrada de texto e um botão, que será responsável por ativar a função. Para que o exemplo abaixo funcione, é necessário vincular um formulário de referência ao bloco. Acesse o tópico Propriedades do Blockly da documentação Bloco de programação para mais detalhes.
A função abaixo inicia uma transação antes de inserir dados na entidade "carro", os dados são obtidos através dos blocos Obter valor do campo na view, em seguida, é necessário commitar a transação. Caso ocorra algum problema, o erro será impresso no Console do Depurador e a operação não será concluída, devido ao bloco Rollback da Transação. O , do contrário, a operação será finalizada no campo "finally", pelo bloco Commit da Transação. O bloco try catch foi utilizado para garantir o fluxo de execução.
Figura 2.1 - Função que inicia uma transação de inserção no banco de dados e a confirma no final
Execute o projeto e preencha os dados necessários.
Figura 2.2 - Inserindo dados do carro
O resultado pode ser conferido abaixo. Como não ocorreu nenhum erro durante a transação, os dados foram inseridos de forma correta no banco.
Figura 2.3 - Resultado após a inserção dos dados
Nesta página
Índice