AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 189543
Accepted
Basil Bourque
Basil Bourque
Asked: 2017-10-28 16:25:23 +0800 CST2017-10-28 16:25:23 +0800 CST 2017-10-28 16:25:23 +0800 CST

O que é o novo recurso de solicitação de conexão JDBC 4.3 com métodos `beginRequest` e `endRequest`?

  • 772

A atualização do JDBC 4.3 chegou com o Java 9 2017-10. Entre suas poucas mudanças está o novo recurso sobre Connectiononde os métodos beginRequeste sinalizam…endRequest

Indica ao motorista que uma solicitação, uma unidade de trabalho independente, está começando nessa conexão. Cada solicitação é independente de todas as outras solicitações em relação ao estado local da conexão no cliente ou no servidor. O trabalho realizado entre os pares beginRequest e endRequest não depende de nenhum outro trabalho realizado na conexão, seja como parte de outra solicitação ou fora de qualquer solicitação. Uma solicitação pode incluir várias transações. Pode haver dependências no estado do banco de dados confirmado, pois isso não é local para a conexão.

…e…

… é opcional, específico do fornecedor e deve ser amplamente transparente.

➠ Explique o objetivo deste recurso.

Parece ser sobre algo maior do que transações, mas não é sobre commits de duas fases. Está relacionado ao sharding , o principal novo recurso do JDBC 4.3?

  • É algum tipo de escopo que envolve várias transações?
  • Quais bancos de dados fazem uso desse recurso?
    • Em particular, Postgres , H2 ou Microsoft SQL Server tem esse recurso?

Não estou perguntando se esses bancos de dados já têm drivers JDBC atualizados para JDBC 4.3. Estou perguntando sobre o quadro geral, qual é o significado e o propósito de uma "solicitação" no contexto de uma conexão de banco de dados entre conexões.

Estranhamente, a especificação JDBC 4.3 faz apenas uma menção, sem explicação:

Alterações na API JDBC

As seguintes alterações foram feitas nas interfaces JDBC existentes.

java.sql.Connection

Adicionados os métodos beginRequest, endRequest, setShardingKey, setShardingKeyIfValid.

postgresql java
  • 1 1 respostas
  • 1436 Views

1 respostas

  • Voted
  1. Best Answer
    Jean de Lavarene
    2018-05-30T23:47:00+08:002018-05-30T23:47:00+08:00

    Essas novas APIs JDBC4.3 beginRequeste endRequesttêm a ver com gerenciamento de conexão. É realmente uma dica fornecida pelo pool de conexões ao driver de que uma conexão foi retirada do pool ( beginRequest) ou verificada novamente no pool ( endRequest). Sem essas APIs, o driver realmente não tem idéia sobre os limites da solicitação. O driver pode então usar essas demarcações de solicitação para lavar roupa suja, como pingar o banco de dados, substituir a conexão sem outra para balanceamento de carga, limpar estados sujos etc.

    Essas APIs foram definidas como APIs específicas do Oracle no driver thin Oracle JDBC antes do JDBC4.3. O UCP (Universal Connection Pool) da Oracle já chama essas APIs. Agora que eles fazem parte do padrão, outros pools de conexão podem começar a usá-los (e outros drivers os implementarão).

    • 5

relate perguntas

  • Posso ativar o PITR depois que o banco de dados foi usado

  • Práticas recomendadas para executar a replicação atrasada do deslocamento de tempo

  • Os procedimentos armazenados impedem a injeção de SQL?

  • Sequências Biológicas do UniProt no PostgreSQL

  • Qual é a diferença entre a replicação do PostgreSQL 9.0 e o Slony-I?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve