Rastreamento do cliente da rede

O cliente da rede do Derby fornece facilidade de rastreamento, para coletar informa????es de rastreamento do JDBC e ver os fluxos do protocolo.

Existem v??rias maneiras de obter sa??da de rastreamento. Entretanto, a maneira mais f??cil de obter sa??da de rastreamento ?? utilizando o atributo traceFile na URL no ij. O exemplo a seguir mostra o envio de todo o rastreamento para o arquivo trace.out, a partir de uma sess??o ij.
ij>connect 'jdbc:derby://localhost:1527/meubanco;
create=true;traceFile=trace.out;user=user1;password=secret4me';

Implementa????o do rastreamento do ClientDataSource

Para coletar dados de rastreamento ao obter conex??es usando ClientDataSource, pode ser empregado um dos tr??s m??todos a seguir:
  • Utilizar o m??todo setLogWriter(java.io.PrintWriter) de ClientDataSource, e definir PrintWriter com um valor n??o nulo.
  • Utilizar o m??todo setTraceFile(String filename) de ClientDataSource.
  • Utilizar o m??todo setTraceDirectory(String dirname) de ClientDataSource para rastrear cada fluxo de conex??o em seu pr??prio arquivo, em programas que possuem v??rias conex??es.

Implementa????o do rastreamento do DriverManager

Quando se obt??m conex??es utilizando o DriverManager, pode ser empregada uma das duas op????es a seguir para habilitar a coleta de informa????es de rastreamento:
  • Utilizar o m??todo setLogWriter(java.io.PrintWriter) de DriverManager, e definir PrintWriter como um valor n??o nulo.
  • Utilizar o atributo da URL traceFile ou traceDirectory para definir uma destas propriedades, antes de criar a conex??o com o m??todo DriverManager.getConnection().

Altera????o do n??vel de rastreamento padr??o

O n??vel de rastreamento padr??o ?? ClientDataSource.TRACE_ALL. O n??vel de rastreamento pode ser escolhido chamando o m??todo setTraceLevel(int level), ou definindo o atributo da URL traceLevel:
String url = "jdbc:derby://meuhospedeiro.meudominio.com:1528/meubanco" +
 ";traceFile=/u/user1/trace.out" +
 ";traceLevel=" +
 org.apache.derby.jdbc.ClientDataSource.TRACE_PROTOCOL_FLOWS;
DriverManager.getConnection(url,"user1","secret4me");
Tabela 1. N??veis de rastreamento dispon??veis e seus valores
N??vel de rastreamento Valor
org.apache.derby.jdbc.ClientDataSource.TRACE_NONE 0x0
org.apache.derby.jdbc.ClientDataSource.TRACE_CONNECTION_CALLS 0x1
org.apache.derby.jdbc.ClientDataSource.TRACE_STATEMENT_CALLS 0x2
org.apache.derby.jdbc.ClientDataSource.TRACE_RESULT_SET_CALLS 0x4
org.apache.derby.jdbc.ClientDataSource.TRACE _DRIVER_CONFIGURATION 0x10
org.apache.derby.jdbc.ClientDataSource.TRACE_CONNECTS 0x20
org.apache.derby.jdbc.ClientDataSource.TRACE_PROTOCOL_FLOWS 0x40
org.apache.derby.jdbc.ClientDataSource.TRACE _RESULT_SET_META_DATA 0x80
org.apache.derby.jdbc.ClientDataSource.TRACE _PARAMETER_META_DATA 0x100
org.apache.derby.jdbc.ClientDataSource.TRACE_DIAGNOSTICS 0x200
org.apache.derby.jdbc.ClientDataSource.TRACE_XA_CALLS 0x800
org.apache.derby.jdbc.ClientDataSource.TRACE_ALL 0xFFFFFFFF;
Para especificar mais de um n??vel de rastreamento, deve ser utilizada uma das seguintes t??cnicas:
  • Utilizar operadores OR bit-a-bit ( | ) entre dois ou mais valores de rastreamento. Por exemplo, para rastrear os fluxos do protocolo e chamadas de conex??o deve ser especificado o seguinte valor para traceLevel:
    TRACE_PROTOCOL_FLOWS | TRACE_CONNECTION_CALLS
  • Utilizar o operador de complemento bit-a-bit ( ~ ) com o valor de rastreamento para especificar todos, exceto um determinado rastreamento. Por exemplo, para rastrear tudo, exceto os fluxos do protocolo, deve ser especificado o seguinte valor para traceLevel:
    ~TRACE_PROTOCOL_FLOWS
Conceitos relacionados
Acesso ao Network Server utilizando o Universal Driver do DB2
Refer??ncias relacionadas
Seguran??a do cliente da rede
Exemplos de driver cliente da rede