{"id":1879,"date":"2015-09-01T18:40:36","date_gmt":"2015-09-01T18:40:35","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1879"},"modified":"2023-06-27T10:09:56","modified_gmt":"2023-06-27T17:09:56","slug":"the-couchbase-java-sdk-2-1-0-arrived","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/the-couchbase-java-sdk-2-1-0-arrived\/","title":{"rendered":"Chegou o Couchbase Java SDK 2.1.0!"},"content":{"rendered":"<p>Em nome de toda a equipe, tenho o prazer de informar que finalmente lan\u00e7amos a vers\u00e3o 2.1.0 do Couchbase Java SDK. Em compara\u00e7\u00e3o com a vers\u00e3o 2.0, ela traz muitos recursos novos, al\u00e9m de uma infinidade de aprimoramentos menores e corre\u00e7\u00f5es de bugs. \u00c9 o resultado do incr\u00edvel e valioso feedback que recebemos de um n\u00famero cada vez maior de usu\u00e1rios que est\u00e3o atualizando seus aplicativos, bem como de novos usu\u00e1rios que exploram padr\u00f5es de acesso a dados reativos.<\/p>\n<p>Nesta postagem do blog, vamos nos concentrar nos novos recursos. Se voc\u00ea quiser conferir a lista completa de altera\u00e7\u00f5es, consulte a se\u00e7\u00e3o <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.0\/sdks\/java-2.1\/release-notes.html\">Notas de lan\u00e7amento<\/a>. Se voc\u00ea tiver perguntas, pode faz\u00ea-las no <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/forums\/\">F\u00f3runs<\/a>\u00a0E se voc\u00ea achar que encontrou um problema, registre-o <a href=\"https:\/\/issues.couchbase.com\/browse\/JCBC\">em nosso JIRA<\/a>.<\/p>\n<p>Ah, e a prop\u00f3sito, tamb\u00e9m fizemos algumas altera\u00e7\u00f5es que devem melhorar o desempenho em determinadas cargas de trabalho. Mesmo que n\u00e3o haja benchmarks nesta publica\u00e7\u00e3o do blog, h\u00e1 uma boa chance de que voc\u00ea veja uma melhora na lat\u00eancia e na taxa de transfer\u00eancia em compara\u00e7\u00e3o com a vers\u00e3o 2.0.3.<\/p>\n<h2>Obtendo o SDK<\/h2>\n<p>Como sempre, estamos distribuindo a vers\u00e3o GA de <a href=\"https:\/\/search.maven.org\/#artifactdetails%7Ccom.couchbase.client%7Cjava-client%7C2.1.0%7Cjar\">Central Maven<\/a> e como um <a href=\"https:\/\/packages.couchbase.com\/clients\/java\/2.1.0\/Couchbase-Java-Client-2.1.0.zip\">arquivo<\/a>.<\/p>\n<h2>Suporte a N1QL DP4<\/h2>\n<p>Esta vers\u00e3o traz suporte oficial (ainda experimental) para o N1QL DP4. Ela n\u00e3o \u00e9 compat\u00edvel com as vers\u00f5es anteriores do DP3 porque as respostas de streaming subjacentes mudaram bastante. Os destaques incluem:<\/p>\n<ul>\n<li>Declara\u00e7\u00f5es simples, parametrizadas e preparadas.<\/li>\n<li>Op\u00e7\u00f5es de consulta estendidas, como tempos limite e consist\u00eancia de varredura.<\/li>\n<li>QueryResults s\u00edncronos e ass\u00edncronos aprimorados para um tratamento de erros mais flex\u00edvel.<\/li>\n<\/ul>\n<p>Simon escreveu uma excelente postagem no blog h\u00e1 duas semanas, portanto, se voc\u00ea quiser saber mais, deve <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/n1ql-dp4-java-sdk\/\">D\u00ea uma olhada aqui<\/a>.<\/p>\n<h2>Suporte a consultas de visualiza\u00e7\u00e3o espacial<\/h2>\n<p>Al\u00e9m do suporte regular a consultas de visualiza\u00e7\u00e3o, adicionamos o suporte a consultas de visualiza\u00e7\u00e3o espacial. Observe que o suporte a consultas espaciais ainda \u00e9 experimental no Couchbase Server 3.0.2, mas em breve ter\u00e1 suporte oficial. Al\u00e9m disso, a implementa\u00e7\u00e3o na vers\u00e3o 2.1.0 n\u00e3o \u00e9 compat\u00edvel com vers\u00f5es anteriores do Couchbase Server porque o formato de resposta foi ligeiramente alterado.<\/p>\n<p>Como um exemplo r\u00e1pido, imagine que voc\u00ea esteja armazenando informa\u00e7\u00f5es de uma loja:<\/p>\n<p>Com base nesse formato de dados, voc\u00ea pode definir uma visualiza\u00e7\u00e3o espacial que n\u00e3o apenas indexar\u00e1 a latitude e a longitude, mas tamb\u00e9m o hor\u00e1rio de funcionamento:<\/p>\n<p>Em seguida, voc\u00ea pode consult\u00e1-lo em todas as tr\u00eas dimens\u00f5es, fornecendo uma caixa delimitadora para o local e tamb\u00e9m um intervalo de tempo em que a loja deve estar aberta:<\/p>\n<p>Voc\u00ea pode esperar mais publica\u00e7\u00f5es e exemplos no blog em um futuro pr\u00f3ximo, \u00e0 medida que nos aproximamos de uma vers\u00e3o com suporte total no lado do servidor.<\/p>\n<h2>Batimentos card\u00edacos\/Keepalive do soquete ocioso<\/h2>\n<p>Quando n\u00e3o h\u00e1 carga passando pelo cliente para um soquete espec\u00edfico, h\u00e1 uma chance de que um firewall (ou outra coisa) esteja cortando a conex\u00e3o porque acha que ela est\u00e1 obsoleta. Para evitar isso, o SDK agora envia uma mensagem de heartbeat a cada 30 segundos em soquetes ociosos. \u00c9 claro que essas mensagens n\u00e3o s\u00e3o enviadas se o tr\u00e1fego regular estiver fluindo nesse intervalo.<\/p>\n<p>Voc\u00ea pode alterar o intervalo no ambiente e, se quiser desativ\u00e1-lo, basta defini-lo como 0.<\/p>\n<h2>Estrat\u00e9gias de repeti\u00e7\u00e3o plug\u00e1veis<\/h2>\n<p>Um recurso muito solicitado foi o de fornecer maneiras de falhar rapidamente se a solicita\u00e7\u00e3o n\u00e3o puder ser despachada imediatamente. Por exemplo, no intervalo de tempo entre a falha de um n\u00f3 e a falha no cluster, um subconjunto de documentos n\u00e3o pode ser gravado (todos os que t\u00eam como alvo as parti\u00e7\u00f5es espec\u00edficas nesse n\u00f3). Por padr\u00e3o, o SDK tentar\u00e1 novamente a opera\u00e7\u00e3o um pouco mais tarde e, por fim, o tempo limite ser\u00e1 atingido no lado do chamador.<\/p>\n<p>O novo modo de falha r\u00e1pida, em vez disso, cancelaria imediatamente a solicita\u00e7\u00e3o, fornecendo loops de feedback mais r\u00e1pidos para o chamador, que ent\u00e3o poderia determinar se a solicita\u00e7\u00e3o deveria ser tentada novamente ou n\u00e3o. Essa nova estrat\u00e9gia pode ser ativada no ambiente da seguinte forma:<\/p>\n<p>Al\u00e9m disso, tornamos a estrat\u00e9gia de repeti\u00e7\u00e3o conect\u00e1vel, de modo que voc\u00ea pode at\u00e9 mesmo definir a sua pr\u00f3pria estrat\u00e9gia. Como isso \u00e9 bastante avan\u00e7ado, n\u00e3o ser\u00e1 abordado nesta postagem do blog, mas voc\u00ea pode esperar mais informa\u00e7\u00f5es em breve na documenta\u00e7\u00e3o sobre esse t\u00f3pico. Enquanto isso, se estiver curioso, d\u00ea uma olhada nas estrat\u00e9gias (bastante simples) que acompanham o SDK.<\/p>\n<p>Por fim, foi adicionado ao ambiente um \"tempo de vida m\u00e1ximo da solicita\u00e7\u00e3o\" configur\u00e1vel, que \u00e9 utilizado pela estrat\u00e9gia padr\u00e3o de \"melhor esfor\u00e7o\" para determinar se a solicita\u00e7\u00e3o ainda deve ser tentada novamente ou se ser\u00e1 cancelada. Isso \u00e9 necess\u00e1rio para evitar que as solicita\u00e7\u00f5es fiquem circulando por muito tempo e ocupem espa\u00e7os preciosos nos RingBuffers.<\/p>\n<h2>Barramento de eventos assin\u00e1vel<\/h2>\n<p>Um barramento de eventos gen\u00e9rico foi adicionado ao ambiente que \u00e9 utilizado pelo n\u00facleo e pelo cliente para publicar eventos para poss\u00edveis assinantes de aplicativos. No momento, apenas os eventos de abertura\/fechamento do Bucket e de conex\u00e3o\/desconex\u00e3o do Node s\u00e3o publicados, mas, no futuro, planejamos estender muito isso, coletando e publicando tamb\u00e9m m\u00e9tricas de desempenho e outros tipos de eventos e avisos.<\/p>\n<p>\u00c9 muito f\u00e1cil assinar e reagir a esses tipos de eventos, gra\u00e7as ao RxJava e \u00e0 natureza de fluxo cont\u00ednuo dos nossos Observables:<\/p>\n<h2>DNS SRV Bootstrap<\/h2>\n<p>Agora \u00e9 poss\u00edvel obter a lista de n\u00f3s de bootstrap por meio de um registro DNS SRV. Isso permite que os administradores de sistema centralizem a configura\u00e7\u00e3o da lista de n\u00f3s bootstrap de maneira muito f\u00e1cil. Ele precisa ser ativado no ambiente para que funcione. Voc\u00ea pode encontrar mais informa\u00e7\u00f5es <a href=\"https:\/\/docs.couchbase.com\/java-sdk\/current\/managing-connections.html\">aqui<\/a>.<\/p>\n<h2>O que vem a seguir?<\/h2>\n<p>Embora j\u00e1 tenhamos muitas ideias para a vers\u00e3o 2.2, agora estamos dando um passo atr\u00e1s e planejando estabilizar ainda mais essa ramifica\u00e7\u00e3o com vers\u00f5es de corre\u00e7\u00e3o de bugs, conforme necess\u00e1rio. Al\u00e9m disso, estamos mudando o foco para a estrutura aprimorada e a integra\u00e7\u00e3o \"up the stack\". Portanto, fique ligado nas pr\u00f3ximas semanas para ver as publica\u00e7\u00f5es e os an\u00fancios no blog!<\/p>","protected":false},"excerpt":{"rendered":"<p>On behalf of the whole team I&#8217;m happy to report that we&#8217;ve finally released the 2.1.0 version of the Couchbase Java SDK. Compared to the 2.0 branch it brings lots of new features as well as a myriad of smaller [&hellip;]<\/p>\n","protected":false},"author":19,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"ppma_author":[8987],"class_list":["post-1879","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>The Couchbase Java SDK 2.1.0 arrived! - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/the-couchbase-java-sdk-2-1-0-arrived\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Couchbase Java SDK 2.1.0 arrived!\" \/>\n<meta property=\"og:description\" content=\"On behalf of the whole team I&#8217;m happy to report that we&#8217;ve finally released the 2.1.0 version of the Couchbase Java SDK. Compared to the 2.0 branch it brings lots of new features as well as a myriad of smaller [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/the-couchbase-java-sdk-2-1-0-arrived\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-09-01T18:40:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-27T17:09:56+00:00\" \/>\n<meta name=\"author\" content=\"Michael Nitschinger\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@daschl\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michael Nitschinger\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/the-couchbase-java-sdk-2-1-0-arrived\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/the-couchbase-java-sdk-2-1-0-arrived\\\/\"},\"author\":{\"name\":\"Michael Nitschinger\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/e5d4d332756da6f361dd88c1576de61d\"},\"headline\":\"The Couchbase Java SDK 2.1.0 arrived!\",\"datePublished\":\"2015-09-01T18:40:35+00:00\",\"dateModified\":\"2023-06-27T17:09:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/the-couchbase-java-sdk-2-1-0-arrived\\\/\"},\"wordCount\":947,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/the-couchbase-java-sdk-2-1-0-arrived\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/the-couchbase-java-sdk-2-1-0-arrived\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/the-couchbase-java-sdk-2-1-0-arrived\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/the-couchbase-java-sdk-2-1-0-arrived\\\/\",\"name\":\"The Couchbase Java SDK 2.1.0 arrived! - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/the-couchbase-java-sdk-2-1-0-arrived\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/the-couchbase-java-sdk-2-1-0-arrived\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-09-01T18:40:35+00:00\",\"dateModified\":\"2023-06-27T17:09:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/the-couchbase-java-sdk-2-1-0-arrived\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/the-couchbase-java-sdk-2-1-0-arrived\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/the-couchbase-java-sdk-2-1-0-arrived\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/the-couchbase-java-sdk-2-1-0-arrived\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Couchbase Java SDK 2.1.0 arrived!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/e5d4d332756da6f361dd88c1576de61d\",\"name\":\"Michael Nitschinger\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dad99b5e02a74ca4bec14352e9da710160647a97290814b669babb3aac0ea675?s=96&d=mm&r=g95e178617974d46e3b02dd1754a3f60b\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dad99b5e02a74ca4bec14352e9da710160647a97290814b669babb3aac0ea675?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dad99b5e02a74ca4bec14352e9da710160647a97290814b669babb3aac0ea675?s=96&d=mm&r=g\",\"caption\":\"Michael Nitschinger\"},\"description\":\"Michael Nitschinger works as a Principal Software Engineer at Couchbase. He is the architect and maintainer of the Couchbase Java SDK, one of the first completely reactive database drivers on the JVM. He also authored and maintains the Couchbase Spark Connector. Michael is active in the open source community, a contributor to various other projects like RxJava and Netty.\",\"sameAs\":[\"https:\\\/\\\/nitschinger.at\",\"https:\\\/\\\/x.com\\\/daschl\"],\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/pt\\\/author\\\/michael-nitschinger\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"The Couchbase Java SDK 2.1.0 arrived! - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/the-couchbase-java-sdk-2-1-0-arrived\/","og_locale":"pt_BR","og_type":"article","og_title":"The Couchbase Java SDK 2.1.0 arrived!","og_description":"On behalf of the whole team I&#8217;m happy to report that we&#8217;ve finally released the 2.1.0 version of the Couchbase Java SDK. Compared to the 2.0 branch it brings lots of new features as well as a myriad of smaller [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/the-couchbase-java-sdk-2-1-0-arrived\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-09-01T18:40:35+00:00","article_modified_time":"2023-06-27T17:09:56+00:00","author":"Michael Nitschinger","twitter_card":"summary_large_image","twitter_creator":"@daschl","twitter_misc":{"Written by":"Michael Nitschinger","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-java-sdk-2-1-0-arrived\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-java-sdk-2-1-0-arrived\/"},"author":{"name":"Michael Nitschinger","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/e5d4d332756da6f361dd88c1576de61d"},"headline":"The Couchbase Java SDK 2.1.0 arrived!","datePublished":"2015-09-01T18:40:35+00:00","dateModified":"2023-06-27T17:09:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-java-sdk-2-1-0-arrived\/"},"wordCount":947,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-java-sdk-2-1-0-arrived\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Uncategorized"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/the-couchbase-java-sdk-2-1-0-arrived\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-java-sdk-2-1-0-arrived\/","url":"https:\/\/www.couchbase.com\/blog\/the-couchbase-java-sdk-2-1-0-arrived\/","name":"The Couchbase Java SDK 2.1.0 arrived! - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-java-sdk-2-1-0-arrived\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-java-sdk-2-1-0-arrived\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-09-01T18:40:35+00:00","dateModified":"2023-06-27T17:09:56+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-java-sdk-2-1-0-arrived\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/the-couchbase-java-sdk-2-1-0-arrived\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-java-sdk-2-1-0-arrived\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/the-couchbase-java-sdk-2-1-0-arrived\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"The Couchbase Java SDK 2.1.0 arrived!"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/e5d4d332756da6f361dd88c1576de61d","name":"Michael Nitschinger","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/dad99b5e02a74ca4bec14352e9da710160647a97290814b669babb3aac0ea675?s=96&d=mm&r=g95e178617974d46e3b02dd1754a3f60b","url":"https:\/\/secure.gravatar.com\/avatar\/dad99b5e02a74ca4bec14352e9da710160647a97290814b669babb3aac0ea675?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dad99b5e02a74ca4bec14352e9da710160647a97290814b669babb3aac0ea675?s=96&d=mm&r=g","caption":"Michael Nitschinger"},"description":"Michael Nitschinger trabalha como engenheiro de software principal na Couchbase. Ele \u00e9 o arquiteto e mantenedor do Couchbase Java SDK, um dos primeiros drivers de banco de dados totalmente reativos na JVM. Ele tamb\u00e9m \u00e9 o autor e mantenedor do Couchbase Spark Connector. Michael participa ativamente da comunidade de c\u00f3digo aberto e contribui para v\u00e1rios outros projetos, como RxJava e Netty.","sameAs":["https:\/\/nitschinger.at","https:\/\/x.com\/daschl"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/michael-nitschinger\/"}]}},"acf":[],"authors":[{"term_id":8987,"user_id":19,"is_guest":0,"slug":"michael-nitschinger","display_name":"Michael Nitschinger","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/dad99b5e02a74ca4bec14352e9da710160647a97290814b669babb3aac0ea675?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1879","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=1879"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1879\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=1879"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=1879"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=1879"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=1879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}