forked from quarkusio/pt.quarkus.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcache.adoc.po
1044 lines (881 loc) · 52.6 KB
/
cache.adoc.po
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2023-10-29 08:09+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. This guide is maintained in the main Quarkus repository
#. and pull requests should be submitted there:
#. https://github.com/quarkusio/quarkus/tree/main/docs/src/main/asciidoc
#. type: Title =
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Application Data Caching"
msgstr "Cache de dados de aplicativos"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "In this guide, you will learn how to enable application data caching in any CDI managed bean of your Quarkus application."
msgstr "Neste guia, o senhor aprenderá a ativar o cache de dados do aplicativo em qualquer bean gerenciado pelo CDI do seu aplicativo Quarkus."
#. type: Title ==
#: _guides/cache.adoc
#, no-wrap
msgid "Prerequisites"
msgstr "Pré-requisitos"
#. type: Title ==
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Scenario"
msgstr "Cenário"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"Let's imagine you want to expose in your Quarkus application a REST API that allows users to retrieve the weather forecast for the next three days.\n"
"The problem is that you have to rely on an external meteorological service which only accepts requests for one day at a time and takes forever to answer.\n"
"Since the weather forecast is updated once every twelve hours, caching the service responses would definitely improve your API performances."
msgstr "Vamos imaginar que o senhor queira expor no seu aplicativo Quarkus uma API REST que permita aos usuários recuperar a previsão do tempo para os próximos três dias. O problema é que o senhor precisa contar com um serviço meteorológico externo que só aceita solicitações para um dia de cada vez e leva uma eternidade para responder. Como a previsão do tempo é atualizada uma vez a cada doze horas, o armazenamento em cache das respostas do serviço definitivamente melhoraria o desempenho da API."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "We'll do that using a single Quarkus annotation."
msgstr "Faremos isso usando uma única anotação do Quarkus."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"In this guide, we use the default Quarkus Cache backend (Caffeine).\n"
"You can use Infinispan or Redis instead.\n"
"Refer to the xref:cache-infinispan-reference.adoc[Infinispan cache backend reference] to configure the Infinispan backend.\n"
"Refer to the xref:cache-redis-reference.adoc[Redis cache backend reference] to configure the Redis backend."
msgstr "Neste guia, usamos o backend padrão do Quarkus Cache (Caffeine). Em vez disso, o senhor pode usar o Infinispan ou o Redis. Consulte a xref:cache-infinispan-reference.adoc[referência do backend de cache do Infinispan] para configurar o backend do Infinispan. Consulte a referência do xref:cache-redis-reference.adoc[backend de cache do Redis] para configurar o backend do Redis."
#. type: Title ==
#: _guides/cache.adoc
#, no-wrap
msgid "Solution"
msgstr "Solução"
#: _guides/cache.adoc
msgid ""
"We recommend that you follow the instructions in the next sections and create the application step by step.\n"
"However, you can go right to the completed example."
msgstr "Recomendamos que siga as instruções nas seções seguintes e crie a aplicação passo a passo. No entanto, você pode ir diretamente para o exemplo completo."
#. type: Plain text
#: _guides/cache.adoc
msgid "Clone the Git repository: `git clone {quickstarts-clone-url}`, or download an {quickstarts-archive-url}[archive]."
msgstr "Clone o repositório Git: `git clone {quickstarts-clone-url}`, ou baixe um {quickstarts-archive-url}[arquivo]."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "The solution is located in the `cache-quickstart` link:{quickstarts-tree-url}/cache-quickstart[directory]."
msgstr "A solução está localizada no link:{quickstarts-tree-url}/cache-quickstart[diretório] `cache-quickstart` ."
#. type: Title ==
#: _guides/cache.adoc
#, no-wrap
msgid "Creating the Maven project"
msgstr "Criar o projeto Maven"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "First, we need to create a new Quarkus project with the following command:"
msgstr "Primeiro, precisamos criar um novo projeto Quarkus com o seguinte comando:"
#: _guides/cache.adoc
#, fuzzy
msgid "This command generates the project and imports the `cache` and `rest-jackson` extensions."
msgstr "Esse comando gera o projeto e importa as extensões `cache` e `rest-jackson` ."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"If you already have your Quarkus project configured, you can add the `cache` extension\n"
"to your project by running the following command in your project base directory:"
msgstr "Se já tiver o projeto Quarkus configurado, o senhor pode adicionar a extensão `cache` ao projeto executando o seguinte comando no diretório base do projeto:"
#. type: Plain text
#: _guides/cache.adoc
msgid "This will add the following to your build file:"
msgstr "Isto irá adicionar o seguinte trecho no seu arquivo de build:"
#. type: Block title
#: _guides/cache.adoc
#, no-wrap
msgid "pom.xml"
msgstr "pom.xml"
#. type: Block title
#: _guides/cache.adoc
#, no-wrap
msgid "build.gradle"
msgstr "build.gradle"
#. type: Title ==
#: _guides/cache.adoc
#, no-wrap
msgid "Creating the REST API"
msgstr "Criando a API REST"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"Let's start by creating a service that will simulate an extremely slow call to the external meteorological service.\n"
"Create `src/main/java/org/acme/cache/WeatherForecastService.java` with the following content:"
msgstr "Vamos começar criando um serviço que simulará uma chamada extremamente lenta para o serviço meteorológico externo. Crie o site `src/main/java/org/acme/cache/WeatherForecastService.java` com o seguinte conteúdo:"
#. type: Plain text
#: _guides/cache.adoc
msgid "This is where the slowness comes from."
msgstr "É daí que vem a lentidão."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"We also need a class that will contain the response sent to the users when they ask for the next three days weather forecast.\n"
"Create `src/main/java/org/acme/cache/WeatherForecast.java` this way:"
msgstr "Também precisamos de uma classe que conterá a resposta enviada aos usuários quando eles solicitarem a previsão do tempo para os próximos três dias. Crie o site `src/main/java/org/acme/cache/WeatherForecast.java` da seguinte forma:"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"Now, we just need to create the REST resource.\n"
"Create the `src/main/java/org/acme/cache/WeatherForecastResource.java` file with this content:"
msgstr "Agora, só precisamos criar o recurso REST. Crie o arquivo `src/main/java/org/acme/cache/WeatherForecastResource.java` com esse conteúdo:"
#: _guides/cache.adoc
msgid ""
"If the `daysInFuture` query parameter is omitted, the three days weather forecast will start from the current day.\n"
"Otherwise, it will start from the current day plus the `daysInFuture` value."
msgstr "Se o parâmetro de consulta `daysInFuture` for omitido, a previsão do tempo para três dias começará a partir do dia atual. Caso contrário, ela começará a partir do dia atual mais o valor `daysInFuture` ."
#. type: Plain text
#: _guides/cache.adoc
msgid "We're all done! Let's check if everything's working."
msgstr "Já está tudo pronto! Vamos verificar se tudo está funcionando."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "First, run the application using dev mode from the project directory:"
msgstr "Primeiro, execute o aplicativo usando o modo de desenvolvimento no diretório do projeto:"
#: _guides/cache.adoc
msgid ""
"Then, call `http://localhost:8080/weather?city=Raleigh` from a browser.\n"
"After six long seconds, the application will answer something like this:"
msgstr "Em seguida, chame o `http://localhost:8080/weather?city=Raleigh` de um navegador. Após seis longos segundos, o aplicativo responderá alguma coisa parecido com isto:"
#. type: delimited block =
#: _guides/cache.adoc
msgid "The response content may vary depending on the day you run the code."
msgstr "O conteúdo da resposta pode variar dependendo do dia em que você executar o código."
#. type: Plain text
#: _guides/cache.adoc
msgid "You can try calling the same URL again and again, it will always take six seconds to answer."
msgstr "Você pode tentar ligar para a mesma URL várias vezes, mas ele sempre levará seis segundos para responder."
#. type: Title ==
#: _guides/cache.adoc
#, no-wrap
msgid "Enabling the cache"
msgstr "Ativação do cache"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"Now that your Quarkus application is up and running, let's tremendously improve its response time by caching the external meteorological service responses.\n"
"Update the `WeatherForecastService` class like this:"
msgstr "Agora que seu aplicativo Quarkus está em funcionamento, vamos melhorar tremendamente o tempo de resposta armazenando em cache as respostas do serviço meteorológico externo. Atualize a classe `WeatherForecastService` da seguinte forma:"
#. type: Plain text
#: _guides/cache.adoc
msgid "We only added this annotation (and the associated import of course)."
msgstr "Adicionamos apenas essa anotação (e a importação associada, é claro)."
#: _guides/cache.adoc
msgid ""
"Let's try to call `http://localhost:8080/weather?city=Raleigh` again.\n"
"You're still waiting a long time before receiving an answer.\n"
"This is normal since the server just restarted and the cache was empty."
msgstr "Vamos tentar chamar `http://localhost:8080/weather?city=Raleigh` novamente. Você ainda está esperando muito tempo antes de receber uma resposta. Isso é normal, pois o servidor acabou de ser reiniciado e o cache estava vazio."
#: _guides/cache.adoc
msgid ""
"Wait a second! The server restarted by itself after the `WeatherForecastService` update?\n"
"Yes, this is one of Quarkus amazing features for developers called `live coding`."
msgstr "Espere um segundo! O servidor reiniciou após a atualização do `WeatherForecastService` ? Sim, esse é um dos incríveis recursos do Quarkus para desenvolvedores, chamado `live coding` ."
#: _guides/cache.adoc
msgid ""
"Now that the cache was loaded during the previous call, try calling the same URL.\n"
"This time, you should get a super fast answer with an `executionTimeInMs` value close to 0."
msgstr "Agora que o cache foi carregado durante a chamada anterior, tente chamar a mesma URL. Dessa vez, você deve obter uma resposta super rápida com um valor `executionTimeInMs` próximo de 0."
#: _guides/cache.adoc
msgid ""
"Let's see what happens if we start from one day in the future using the `http://localhost:8080/weather?city=Raleigh&daysInFuture=1` URL.\n"
"You should get an answer two seconds later since two of the requested days were already loaded in the cache."
msgstr "Vamos ver o que acontece se começarmos a partir de um dia no futuro usando o `http://localhost:8080/weather?city=Raleigh&daysInFuture=1` URL. Você deve obter uma resposta dois segundos depois, pois dois dos dias solicitados já foram carregados no cache."
#: _guides/cache.adoc
msgid ""
"You can also try calling the same URL with a different city and see the cache in action again.\n"
"The first call will take six seconds and the following ones will be answered immediately."
msgstr "Você também pode tentar chamar a mesma URL com uma cidade diferente e ver o cache em ação novamente. A primeira chamada levará seis segundos e as seguintes serão respondidas imediatamente."
#. type: Plain text
#: _guides/cache.adoc
msgid "Congratulations! You just added application data caching to your Quarkus application with a single line of code!"
msgstr "Parabéns! Você acabou de adicionar o cache de dados do aplicativo a sua aplicação Quarkus com uma única linha de código!"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"Do you want to learn more about the Quarkus application data caching abilities?\n"
"The following sections will show you everything there is to know about it."
msgstr "O senhor quer saber mais sobre os recursos de cache de dados do aplicativo Quarkus? As seções a seguir mostrarão ao senhor tudo o que há para saber sobre isso."
#. type: Title ==
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Caching using annotations"
msgstr "Armazenamento em cache usando anotações"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Quarkus offers a set of annotations that can be used in a CDI managed bean to enable caching abilities."
msgstr "O Quarkus oferece um conjunto de anotações que podem ser usadas em um bean gerenciado por CDI para habilitar a capacidade de armazenamento em cache."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"Caching annotations are not allowed on private methods.\n"
"They will work fine with any other access modifier including package-private (no explicit modifier)."
msgstr "As anotações de cache não são permitidas em métodos privados. Elas funcionarão bem com qualquer outro modificador de acesso, inclusive package-private (sem modificador explícito)."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "@CacheResult"
msgstr "@CacheResult"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Loads a method result from the cache without executing the method body whenever possible."
msgstr "Carrega o resultado de um método do cache sem executar o corpo do método sempre que possível."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"When a method annotated with `@CacheResult` is invoked, Quarkus will compute a cache key and use it to check in the cache whether the method has been already invoked.\n"
"See the <<cache-keys-building-logic>> section of this guide to learn how the cache key is computed.\n"
"If a value is found in the cache, it is returned and the annotated method is never actually executed.\n"
"If no value is found, the annotated method is invoked and the returned value is stored in the cache using the computed key."
msgstr "Quando um método anotado com `@CacheResult` for invocado, o Quarkus calculará uma chave de cache e a usará para verificar no cache se o método já foi invocado. Consulte a seção <<cache-keys-building-logic>> deste guia para saber como a chave do cache é calculada. Se um valor for encontrado no cache, ele será retornado e o método anotado nunca será realmente executado. Se nenhum valor for encontrado, o método anotado será chamado e o valor retornado será armazenado no cache usando a chave computada."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"A method annotated with `CacheResult` is protected by a lock on cache miss mechanism.\n"
"If several concurrent invocations try to retrieve a cache value from the same missing key, the method will only be invoked once.\n"
"The first concurrent invocation will trigger the method invocation while the subsequent concurrent invocations will wait for the end of the method invocation to get the cached result.\n"
"The `lockTimeout` parameter can be used to interrupt the lock after a given delay.\n"
"The lock timeout is disabled by default, meaning the lock is never interrupted.\n"
"See the parameter Javadoc for more details."
msgstr "Um método anotado com `CacheResult` é protegido por um mecanismo de bloqueio de perda de cache. Se várias invocações simultâneas tentarem recuperar um valor de cache da mesma chave ausente, o método será chamado apenas uma vez. A primeira invocação simultânea acionará a invocação do método, enquanto as invocações simultâneas subsequentes aguardarão o fim da invocação do método para obter o resultado em cache. O parâmetro `lockTimeout` pode ser usado para interromper o bloqueio após um determinado atraso. O tempo limite do bloqueio é desativado por padrão, o que significa que o bloqueio nunca é interrompido. Consulte o Javadoc do parâmetro para obter mais detalhes."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "This annotation cannot be used on a method returning `void`."
msgstr "Essa anotação não pode ser usada em um método que retorna `void` ."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"Quarkus is able to also cache `null` values unlike the underlying Caffeine provider.\n"
"See <<negative-cache,more on this topic below>>."
msgstr "O Quarkus também pode armazenar em cache os valores de `null` , ao contrário do provedor Caffeine subjacente. Veja xref:negative-cache[mais sobre esse tópico abaixo] ."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "@CacheInvalidate"
msgstr "@CacheInvalidate"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Removes an entry from the cache."
msgstr "Remove uma entrada do cache."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"When a method annotated with `@CacheInvalidate` is invoked, Quarkus will compute a cache key and use it to try to remove an existing entry from the cache.\n"
"See the <<cache-keys-building-logic>> section of this guide to learn how the cache key is computed.\n"
"If the key does not identify any cache entry, nothing will happen."
msgstr "Quando um método anotado com `@CacheInvalidate` for invocado, o Quarkus calculará uma chave de cache e a usará para tentar remover uma entrada existente do cache. Consulte a seção <<cache-keys-building-logic>> deste guia para saber como a chave do cache é calculada. Se a chave não identificar nenhuma entrada de cache, nada acontecerá."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "@CacheInvalidateAll"
msgstr "@CacheInvalidateAll"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "When a method annotated with `@CacheInvalidateAll` is invoked, Quarkus will remove all entries from the cache."
msgstr "Quando um método anotado com `@CacheInvalidateAll` for invocado, o Quarkus removerá todas as entradas do cache."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "@CacheKey"
msgstr "@CacheKey"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"When a method argument is annotated with `@CacheKey`, it is identified as a part of the cache key during an invocation of a\n"
"method annotated with `@CacheResult` or `@CacheInvalidate`."
msgstr "Quando um argumento de método é anotado com `@CacheKey` , ele é identificado como parte da chave de cache durante uma invocação de um método anotado com `@CacheResult` ou `@CacheInvalidate` ."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "This annotation is optional and should only be used when some method arguments are NOT part of the cache key."
msgstr "Essa anotação é opcional e só deve ser usada quando alguns argumentos do método NÃO fizerem parte da chave do cache."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Cache keys building logic"
msgstr "Lógica de criação de chaves de cache"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Cache keys are built by the annotations API using the following logic:"
msgstr "As chaves de cache são criadas pela API de anotações usando a seguinte lógica:"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "If an `io.quarkus.cache.CacheKeyGenerator` is declared in a `@CacheResult` or a `@CacheInvalidate` annotation, then it is used to generate the cache key. The `@CacheKey` annotations that might be present on some method arguments are ignored."
msgstr "Se um `io.quarkus.cache.CacheKeyGenerator` for declarado em uma anotação `@CacheResult` ou `@CacheInvalidate` , ele será usado para gerar a chave do cache. As anotações `@CacheKey` que podem estar presentes em alguns argumentos do método são ignoradas."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Otherwise, if the method has no arguments, then the cache key is an instance of `io.quarkus.cache.DefaultCacheKey` built from the cache name."
msgstr "Caso contrário, se o método não tiver argumentos, a chave do cache será uma instância de `io.quarkus.cache.DefaultCacheKey` criada a partir do nome do cache."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Otherwise, if the method has exactly one argument, then that argument is the cache key."
msgstr "Caso contrário, se o método tiver exatamente um argumento, esse argumento será a chave do cache."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Otherwise, if the method has multiple arguments but only one annotated with `@CacheKey`, then that annotated argument is the cache key."
msgstr "Caso contrário, se o método tiver vários argumentos, mas apenas um anotado com `@CacheKey` , esse argumento anotado será a chave do cache."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Otherwise, if the method has multiple arguments annotated with `@CacheKey`, then the cache key is an instance of `io.quarkus.cache.CompositeCacheKey` built from these annotated arguments."
msgstr "Caso contrário, se o método tiver vários argumentos anotados com `@CacheKey` , a chave do cache será uma instância de `io.quarkus.cache.CompositeCacheKey` criada a partir desses argumentos anotados."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Otherwise, if the method has multiple arguments and none of them are annotated with `@CacheKey`, the cache key is an instance of `io.quarkus.cache.CompositeCacheKey` built from all the method arguments."
msgstr "Caso contrário, se o método tiver vários argumentos e nenhum deles for anotado com `@CacheKey` , a chave do cache será uma instância de `io.quarkus.cache.CompositeCacheKey` criada a partir de todos os argumentos do método."
#. type: delimited block =
#: _guides/cache.adoc
#, fuzzy
msgid "Each non-primitive method argument that is part of the key must implement `equals()` and `hashCode()` correctly for the cache to work as expected."
msgstr "Cada argumento de método não primitivo que faz parte da chave deve implementar `equals()` e `hashCode()` corretamente para que o cache funcione conforme o esperado."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "When a cache key is built from several method arguments, whether they are explicitly identified with `@CacheKey` or not, the building logic depends on the order of these arguments in the method signature. On the other hand, the arguments names are not used at all and do not have any effect on the cache key."
msgstr "Quando uma chave de cache é criada a partir de vários argumentos de método, sejam eles explicitamente identificados com `@CacheKey` ou não, a lógica de criação depende da ordem desses argumentos na assinatura do método. Por outro lado, os nomes dos argumentos não são usados e não têm nenhum efeito sobre a chave de cache."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Calling this method WILL invalidate values cached by the `load` method even if the key elements names have been swapped."
msgstr "A chamada desse método VAI invalidar os valores armazenados em cache pelo método `load` , mesmo que os nomes dos elementos-chave tenham sido trocados."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Calling this method WILL NOT invalidate values cached by the `load` method because the key elements order is different."
msgstr "A chamada desse método NÃO invalidará os valores armazenados em cache pelo método `load` porque a ordem dos elementos-chave é diferente."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Calling this method WILL invalidate values cached by the `load` method because the key elements order is the same."
msgstr "A chamada desse método VAI invalidar os valores armazenados em cache pelo método `load` porque a ordem dos elementos-chave é a mesma."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Generating a cache key with `CacheKeyGenerator`"
msgstr "Geração de uma chave de cache com `CacheKeyGenerator`"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"You may want to include more than the arguments of a method into a cache key.\n"
"This can be done by implementing the `io.quarkus.cache.CacheKeyGenerator` interface and declaring that implementation in the `keyGenerator` field of a `@CacheResult` or `@CacheInvalidate` annotation."
msgstr "O senhor pode querer incluir mais do que os argumentos de um método em uma chave de cache. Isso pode ser feito implementando a interface `io.quarkus.cache.CacheKeyGenerator` e declarando essa implementação no campo `keyGenerator` de uma anotação `@CacheResult` ou `@CacheInvalidate` ."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"The class must either represent a CDI bean or declare a public no-args constructor.\n"
"If it represents a CDI bean, then the key generator will be injected during the cache key computation.\n"
"Otherwise, a new instance of the key generator will be created using its default constructor for each cache key computation."
msgstr "A classe deve representar um bean CDI ou declarar um construtor público sem args. Se ela representar um bean CDI, o gerador de chaves será injetado durante o cálculo da chave do cache. Caso contrário, uma nova instância do gerador de chaves será criada usando seu construtor padrão para cada computação de chave de cache."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"In case of CDI, there must be exactly one bean that has the class in its set of bean types, otherwise the build fails.\n"
"The context associated with the scope of the bean must be active when the `CacheKeyGenerator#generate()` method is invoked.\n"
"If the scope is `@Dependent` then the bean instance is destroyed when the `CacheKeyGenerator#generate()` method completes."
msgstr "No caso do CDI, deve haver exatamente um bean que tenha a classe em seu conjunto de tipos de bean, caso contrário, a compilação falhará. O contexto associado ao escopo do bean deve estar ativo quando o método `CacheKeyGenerator#generate()` for invocado. Se o escopo for `@Dependent` , a instância do bean será destruída quando o método `CacheKeyGenerator#generate()` for concluído."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "The following key generator will be injected as a CDI bean:"
msgstr "O gerador de chaves a seguir será injetado como um bean CDI:"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "External data can be included into the cache key by injecting a CDI bean in the key generator."
msgstr "Os dados externos podem ser incluídos na chave do cache injetando um bean CDI no gerador de chaves."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Be careful while using `Method`, some of its methods can be expensive."
msgstr "Tenha cuidado ao usar o site `Method` , pois alguns de seus métodos podem ser caros."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"Make sure the method has enough arguments before accessing them from their index.\n"
"Otherwise, an `IndexOutOfBoundsException` may be thrown during the cache key computation."
msgstr "Certifique-se de que o método tenha argumentos suficientes antes de acessá-los a partir de seu índice. Caso contrário, um `IndexOutOfBoundsException` poderá ser lançado durante o cálculo da chave do cache."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "The following key generator will be instantiated using its default constructor:"
msgstr "O gerador de chaves a seguir será instanciado usando seu construtor padrão:"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Including the method name into the cache key is not expensive, unlike other methods from `Method`."
msgstr "A inclusão do nome do método na chave do cache não é cara, ao contrário de outros métodos do site `Method` ."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Both kinds of key generators can be used in a similar way:"
msgstr "Os dois tipos de geradores de chaves podem ser usados de forma semelhante:"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "This key generator is a CDI bean."
msgstr "Esse gerador de chaves é um bean CDI."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "The `@CacheKey` annotation will be ignored because a key generator is declared in the `@CacheResult` annotation."
msgstr "A anotação `@CacheKey` será ignorada porque um gerador de chaves é declarado na anotação `@CacheResult` ."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "This key generator is not a CDI bean."
msgstr "Esse gerador de chaves não é um bean CDI."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "The `@CacheKey` annotation will be ignored when the `foo` cache data is invalidated, but `param1` will be the cache key when the `bar` cache data is invalidated."
msgstr "A anotação `@CacheKey` será ignorada quando os dados do cache `foo` forem invalidados, mas `param1` será a chave do cache quando os dados do cache `bar` forem invalidados."
#. type: Title ==
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Caching using the programmatic API"
msgstr "Armazenamento em cache usando a API programática"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"Quarkus also offers a programmatic API which can be used to store, retrieve or delete values from any cache declared using the annotations API.\n"
"All operations from the programmatic API are non-blocking and rely on https://smallrye.io/smallrye-mutiny/[Mutiny] under the hood."
msgstr "O Quarkus também oferece uma API programática que pode ser usada para armazenar, recuperar ou excluir valores de qualquer cache declarado usando a API de anotações. Todas as operações da API programática não são bloqueadas e dependem do link:https://smallrye.io/smallrye-mutiny/[Mutiny] ."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"Before accessing programmatically the cached data, you need to retrieve an `io.quarkus.cache.Cache` instance.\n"
"The following sections will show you how to do that."
msgstr "Antes de acessar programaticamente os dados armazenados em cache, o senhor precisa recuperar uma instância do `io.quarkus.cache.Cache` . As seções a seguir mostrarão como fazer isso."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Injecting a `Cache` with the `@CacheName` annotation"
msgstr "Injetando um `Cache` com a anotação `@CacheName` "
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "`io.quarkus.cache.CacheName` can be used on a field, a constructor parameter or a method parameter to inject a `Cache`:"
msgstr "`io.quarkus.cache.CacheName` pode ser usado em um campo, um parâmetro de construtor ou um parâmetro de método para injetar um `Cache` :"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "This is optional."
msgstr "Isso é opcional."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "This method returns the `Uni<String>` type which is non-blocking."
msgstr "Esse método retorna o tipo `Uni<String>` que não é bloqueador."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "The `k` argument contains the cache key value."
msgstr "O argumento `k` contém o valor da chave do cache."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "If you don't need the call to be non-blocking, this is how you can retrieve the cache value in a blocking way."
msgstr "Se o senhor não precisar que a chamada seja não bloqueante, é assim que pode recuperar o valor do cache de forma bloqueante."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Retrieving a `Cache` from the `CacheManager`"
msgstr "Recuperando um `Cache` do `CacheManager`"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Another way to retrieve a `Cache` instance consists in injecting the `io.quarkus.cache.CacheManager` first and then retrieving the desired `Cache` from its name:"
msgstr "Outra forma de recuperar uma instância de `Cache` consiste em injetar primeiro o `io.quarkus.cache.CacheManager` e depois recuperar o `Cache` desejado a partir de seu nome:"
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Building a programmatic cache key"
msgstr "Criação de uma chave de cache programática"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"Before building a programmatic cache key, you need to know how cache keys are built by the annotations API when an annotated method is invoked.\n"
"This is explained in the <<cache-keys-building-logic>> section of this guide."
msgstr "Antes de criar uma chave de cache programática, o senhor precisa saber como as chaves de cache são criadas pela API de anotações quando um método anotado é chamado. Isso é explicado na seção <<cache-keys-building-logic>> deste guia."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Now, if you want to retrieve or delete, using the programmatic API, a cache value that was stored using the annotations API, you just need to make sure the same key is used with both APIs."
msgstr "Agora, se o senhor quiser recuperar ou excluir, usando a API programática, um valor de cache que foi armazenado usando a API de anotações, basta certificar-se de que a mesma chave seja usada em ambas as APIs."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Retrieving all keys from a `CaffeineCache`"
msgstr "Recuperação de todas as chaves de um `CaffeineCache`"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"The cache keys from a specific `CaffeineCache` can be retrieved as an unmodifiable `Set` as shown below.\n"
"If the cache entries are modified while an iteration over the set is in progress, the set will remain unchanged."
msgstr "As chaves de cache de um `CaffeineCache` específico podem ser recuperadas como um `Set` não modificável, conforme mostrado abaixo. Se as entradas do cache forem modificadas enquanto uma iteração sobre o conjunto estiver em andamento, o conjunto permanecerá inalterado."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Populating a `CaffeineCache`"
msgstr "Preenchimento de um `CaffeineCache`"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"You can populate a `CaffeineCache` using the `CaffeineCache#put(Object, CompletableFuture)` method.\n"
"This method associates the `CompletableFuture` with the given key in the cache. If the cache previously contained a value associated with the key, the old value is replaced by this `CompletableFuture`. If the asynchronous computation fails, the entry will be automatically removed."
msgstr "O senhor pode preencher um `CaffeineCache` usando o método `CaffeineCache#put(Object, CompletableFuture)` . Esse método associa o `CompletableFuture` à chave fornecida no cache. Se o cache contiver anteriormente um valor associado à chave, o valor antigo será substituído por esse `CompletableFuture` . Se o cálculo assíncrono falhar, a entrada será removida automaticamente."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Retrieving a value if a key is present from a `CaffeineCache`"
msgstr "Recuperar um valor se uma chave estiver presente em um `CaffeineCache`"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"The cache value from a specific `CaffeineCache` can be retrieved if present as shown below.\n"
"If the given key is contained in the cache, the method will return the `CompletableFuture` the specified key is mapped to.\n"
"That `CompletableFuture` may be computing or may already be completed.\n"
"Otherwise, the method will return `null`."
msgstr "O valor do cache de um `CaffeineCache` específico pode ser recuperado se estiver presente, conforme mostrado abaixo. Se a chave fornecida estiver contida no cache, o método retornará o `CompletableFuture` para o qual a chave especificada está mapeada. Esse `CompletableFuture` pode estar sendo computado ou pode já ter sido concluído. Caso contrário, o método retornará `null` ."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Changing the expiration policy or the maximum size of a `CaffeineCache` in real time"
msgstr "Alterar a política de expiração ou o tamanho máximo de um `CaffeineCache` em tempo real"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"The expiration policy of a `CaffeineCache` can be changed while a Quarkus app is running if that policy was initially specified in the Quarkus configuration.\n"
"Similarly, the maximum size of a `CaffeineCache` can be changed in real time if the cache was built with an initial maximum size defined in the configuration."
msgstr "A política de expiração de um `CaffeineCache` pode ser alterada enquanto um aplicativo Quarkus estiver em execução se essa política tiver sido inicialmente especificada na configuração do Quarkus. Da mesma forma, o tamanho máximo de um `CaffeineCache` pode ser alterado em tempo real se o cache tiver sido criado com um tamanho máximo inicial definido na configuração."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "This line will only work if the cache was constructed with an `expire-after-access` configuration value. Otherwise, an `IllegalStateException` will be thrown."
msgstr "Essa linha só funcionará se o cache tiver sido criado com um valor de configuração `expire-after-access` . Caso contrário, será lançado um `IllegalStateException` ."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "This line will only work if the cache was constructed with an `expire-after-write` configuration value. Otherwise, an `IllegalStateException` will be thrown."
msgstr "Essa linha só funcionará se o cache tiver sido criado com um valor de configuração `expire-after-write` . Caso contrário, será lançado um `IllegalStateException` ."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "This line will only work if the cache was constructed with a `maximum-size` configuration value. Otherwise, an `IllegalStateException` will be thrown."
msgstr "Essa linha só funcionará se o cache tiver sido criado com um valor de configuração `maximum-size` . Caso contrário, será lançado um `IllegalStateException` ."
#. type: delimited block =
#: _guides/cache.adoc
#, fuzzy
msgid "The `setExpireAfterAccess`, `setExpireAfterWrite` and `setMaximumSize` methods from `CaffeineCache` must never be invoked from within an atomic scope of a cache operation."
msgstr "Os métodos `setExpireAfterAccess` , `setExpireAfterWrite` e `setMaximumSize` de `CaffeineCache` nunca devem ser invocados de dentro de um escopo atômico de uma operação de cache."
#. type: Title ==
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Configuring the underlying caching provider"
msgstr "Configuração do provedor de cache subjacente"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"This extension uses https://github.com/ben-manes/caffeine[Caffeine] as its underlying caching provider.\n"
"Caffeine is a high performance, near optimal caching library."
msgstr "Essa extensão usa link:https://github.com/ben-manes/caffeine[o Caffeine] como seu provedor de cache subjacente. O Caffeine é uma biblioteca de cache de alto desempenho e quase ideal."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Caffeine configuration properties"
msgstr "Propriedades de configuração da cafeína"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"Each of the Caffeine caches backing up the Quarkus application data caching extension can be configured using the following\n"
"properties in the `application.properties` file. By default, caches do not perform any type of eviction if not configured."
msgstr "Cada um dos caches do Caffeine que fazem backup da extensão de cache de dados do aplicativo Quarkus pode ser configurado usando as seguintes propriedades no arquivo `application.properties` . Por padrão, os caches não executam nenhum tipo de despejo se não estiverem configurados."
#. type: delimited block =
#: _guides/cache.adoc
#, fuzzy
msgid "You need to replace `cache-name` in all the following properties with the real name of the cache you want to configure."
msgstr "É necessário substituir `cache-name` em todas as propriedades a seguir pelo nome real do cache que o senhor deseja configurar."
#: _guides/cache.adoc
msgid "<span class=\"icon\"><i class=\"fa fa-lock\" title=\"Fixed at build time\"></i></span> Configuration property fixed at build time - All other configuration properties are overridable at runtime <input type=\"search\" id=\"config-search-0\" placeholder=\"FILTER CONFIGURATION\" disabled>"
msgstr "<span class=\"icon\"><i class=\"fa fa-lock\" title=\"Fixed at build time\"></i></span> Propriedade de Configuração Fixa no Momento da Compilação - Todas as outras propriedades de configuração podem ser sobrepostas em tempo de execução. <input type=\"search\" id=\"config-search-0\" placeholder=\"FILTER CONFIGURATION\" disabled>"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Here's what your cache configuration could look like:"
msgstr "Veja como pode ser a configuração do cache:"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "The `foo` cache is being configured."
msgstr "O cache `foo` está sendo configurado."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "The `bar` cache is being configured."
msgstr "O cache `bar` está sendo configurado."
#. type: Title ==
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Enabling Micrometer metrics"
msgstr "Habilitando as métricas do micrômetro"
#: _guides/cache.adoc
#, fuzzy
msgid "Each cache declared using the <<#annotations-api,annotations caching API>> can be monitored using Micrometer metrics."
msgstr "Cada cache declarado usando a xref:annotations-api[API de cache de anotações] pode ser monitorado usando as métricas do Micrometer."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"The cache metrics collection will only work if your application depends on a `quarkus-micrometer-registry-*` extension.\n"
"See the xref:telemetry-micrometer.adoc[Micrometer metrics guide] to learn how to use Micrometer in Quarkus."
msgstr "A coleção de métricas de cache só funcionará se o seu aplicativo depender de uma extensão `quarkus-micrometer-registry-*` . Consulte o xref:telemetry-micrometer.adoc[guia de métricas do Micrometer] para saber como usar o Micrometer no Quarkus."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"The cache metrics collection is disabled by default.\n"
"It can be enabled from the `application.properties` file:"
msgstr "A coleta de métricas do cache está desativada por padrão. Ela pode ser ativada no arquivo `application.properties` :"
#. type: delimited block =
#: _guides/cache.adoc
#, fuzzy
msgid "Like all instrumentation methods, collecting metrics comes with a small overhead that can impact the application performances."
msgstr "Como todos os métodos de instrumentação, a coleta de métricas vem com uma pequena sobrecarga que pode afetar o desempenho do aplicativo."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "The collected metrics contain cache statistics such as:"
msgstr "As métricas coletadas contêm estatísticas de cache, como:"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "the approximate current number of entries in the cache"
msgstr "o número atual aproximado de entradas no cache"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "the number of entries that were added to the cache"
msgstr "o número de entradas que foram adicionadas ao cache"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "the number of times a cache lookup has been performed, including information about hits and misses"
msgstr "o número de vezes que uma pesquisa no cache foi realizada, incluindo informações sobre acertos e erros"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "the number of evictions and the weight of the evicted entries"
msgstr "o número de expulsões e o peso das entradas expulsas"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Here is an example of cache metrics available for an application that depends on the `quarkus-micrometer-registry-prometheus` extension:"
msgstr "Aqui está um exemplo de métricas de cache disponíveis para um aplicativo que depende da extensão `quarkus-micrometer-registry-prometheus` :"
#. type: Title ==
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Annotated beans examples"
msgstr "Exemplos de feijões anotados"
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Implicit simple cache key"
msgstr "Chave de cache simples implícita"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "The cache key is implicit since there's no `@CacheKey` annotation."
msgstr "A chave do cache é implícita, pois não há nenhuma anotação `@CacheKey` ."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Explicit composite cache key"
msgstr "Chave de cache composta explícita"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "The cache key is explicitly composed of two elements. The method signature also contains a third argument which is not part of the key."
msgstr "A chave do cache é explicitamente composta por dois elementos. A assinatura do método também contém um terceiro argumento que não faz parte da chave."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Default cache key"
msgstr "Chave de cache padrão"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "A unique default cache key derived from the cache name is used because the method has no arguments."
msgstr "Uma chave de cache padrão exclusiva derivada do nome do cache é usada porque o método não tem argumentos."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Multiple annotations on a single method"
msgstr "Várias anotações em um único método"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "This method can be used to force a refresh of the cache entry corresponding to the given key."
msgstr "Esse método pode ser usado para forçar uma atualização da entrada de cache correspondente à chave fornecida."
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "This method will invalidate all entries from the `foo` and `bar` caches with a single call."
msgstr "Esse método invalidará todas as entradas dos caches `foo` e `bar` com uma única chamada."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Clear all application caches"
msgstr "Limpar todos os caches de aplicativos"
#. type: Title ==
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Negative caching and nulls"
msgstr "Cache negativo e nulos"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"Sometimes one wants to cache the result of an (expensive) remote call.\n"
"If the remote call fails, one may not want to cache the result or exception,\n"
"but rather re-try the remote call on the next invocation."
msgstr "Às vezes, deseja-se armazenar em cache o resultado de uma chamada remota (cara). Se a chamada remota falhar, talvez não se queira armazenar em cache o resultado ou a exceção, mas sim tentar novamente a chamada remota na próxima invocação."
#: _guides/cache.adoc
#, fuzzy
msgid ""
"A simple approach could be to catch the exception and return `null`, so that the caller can\n"
"act accordingly:"
msgstr "Uma abordagem simples poderia ser capturar a exceção e retornar `null` , para que o chamador possa agir de acordo:"
#. type: Block title
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Sample code"
msgstr "Código de amostra"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Call the method to call the remote"
msgstr "Chame o método para chamar o controle remoto"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Do the remote call and return its result"
msgstr "Fazer a chamada remota e retornar seu resultado"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Return in case of exception"
msgstr "Retorno em caso de exceção"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"This approach has an unfortunate side effect: as we said before, Quarkus can also cache\n"
"`null` values. Which means that the next call to `callRemote()` with the same parameter value\n"
"will be answered out of the cache, returning `null` and no remote call will be done.\n"
"This may be desired in some scenarios, but usually one wants to retry the remote call until it returns a result."
msgstr "Essa abordagem tem um efeito colateral infeliz: como dissemos antes, o Quarkus também pode armazenar em cache os valores de `null` . Isso significa que a próxima chamada para `callRemote()` com o mesmo valor de parâmetro será respondida fora do cache, retornando `null` e nenhuma chamada remota será feita. Isso pode ser desejado em alguns cenários, mas normalmente o que se deseja é tentar novamente a chamada remota até que ela retorne um resultado."
#. type: Title ===
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Let exceptions bubble up"
msgstr "Deixar que as exceções se espalhem"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"To prevent the cache from caching (marker) results from a remote call, we need to let\n"
"the exception bubble out of the called method and catch it at the caller side:"
msgstr "Para evitar que o cache armazene em cache (marcador) os resultados de uma chamada remota, precisamos deixar a exceção sair do método chamado e capturá-la no lado do chamador:"
#. type: Block title
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "With Exception bubbling up"
msgstr "Com o Exception borbulhando"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "Exceptions may bubble up"
msgstr "As exceções podem surgir"
#. type: Plain text
#: _guides/cache.adoc
#, fuzzy
msgid "This can throw all kinds of remote exceptions"
msgstr "Isso pode gerar todos os tipos de exceções remotas"
#: _guides/cache.adoc
#, fuzzy
msgid ""
"When the call to the remote throws an exception, the cache does not store the result,\n"
"so that a subsequent call to `callRemote()` with the same parameter value will not be\n"
"answered out of the cache.\n"
"It will instead result in another attempt to call the remote."
msgstr "Quando a chamada para o remote lança uma exceção, o cache não armazena o resultado, de modo que uma chamada subsequente para `callRemote()` com o mesmo valor de parâmetro não será respondida fora do cache. Em vez disso, ela resultará em outra tentativa de chamar o controle remoto."
#. type: Title ==
#: _guides/cache.adoc
#, fuzzy, no-wrap
msgid "Going native"
msgstr "Tornar-se nativo"
#. type: Plain text