A propriedade derby.stream.error.logSeverityLevel determina o n??vel de erro informado.
Por padr??o, a propriedade derby.stream.error.logSeverityLevel ?? definida com o valor 40000. Se a propriedade derby.stream.error.logSeverityLevel for definida para mostrar os erros no n??vel de transa????o (ou seja, se for definida com um valor inferior a 40000), os erros de impasse ser??o registrados no arquivo derby.log. Se for definida com um valor igual a 40000, ou maior, os erros de impasse n??o ser??o registrados no arquivo derby.log.
A propriedade derby.locks.monitor garante que os erros de impasse ser??o registrados, independentemente do valor de derby.stream.error.logSeverityLevel. Quando derby.locks.monitor est?? definida como verdade, todos os bloqueios envolvidos nos impasses s??o escritos no arquivo derby.log, junto com um n??mero ??nico que identifica o bloqueio.
Para ver o acompanhamento da pilha de thread quando o bloqueio ?? requisitado, a propriedade derby.locks.deadlockTrace dever?? ser definida como verdade. Esta propriedade ?? ignorada quando derby.locks.monitor est?? definida como falso.
Para obter informa????es sobre como definir estas propriedades, e informa????es sobre as propriedades espec??ficas mencionadas neste t??pico, deve ser consultado Ajuste do Derby.
Abaixo est?? um exemplo de uma mensagem de erro quando o Derby interrompe uma transa????o por causa de um impasse:
--SQLException Caught-- SQLState: 40001 = Error Code: 30000 Message: A lock could not be obtained due to a deadlock, cycle of locks and waiters is: Lock : ROW, DEPARTMENT, (1,14) Waiting XID : {752, X} , APP, update department set location='Boise' where deptno='E21' Granted XID : {758, X} Lock : ROW, EMPLOYEE, (2,8) Waiting XID : {758, U} , APP, update employee set bonus=150 where salary=23840 Granted XID : {752, X} The selected victim is XID : 752