{"id":15835,"date":"2023-04-28T07:21:41","date_gmt":"2023-04-28T05:21:41","guid":{"rendered":"https:\/\/vived.io\/?p=15835"},"modified":"2023-04-28T07:21:44","modified_gmt":"2023-04-28T05:21:44","slug":"przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/","title":{"rendered":"Przysz\u0142o\u015b\u0107 i tera\u017aniejszo\u015b\u0107 Java Enterprise: pierwsze spojrzenie na Jakarta EE 11 i adopcja MicroProfile 6 &#8211; JVM Weekly vol. 133"},"content":{"rendered":"\n<h2 id=\"1-wysyp-nowych-kandydackich-jep-ow\" data-num=1>1. Wysyp nowych kandydackich JEP-\u00f3w<\/h2>\n\n\n\n<p>Zacznijmy od najwi\u0119kszej koby\u0142y &#8211; <a href=\"https:\/\/openjdk.org\/jeps\/447\">JEP 447: Statements before super()<\/a>. Ten JEP jest ciekawy, poniewa\u017c zawiera zmiany w JLS &#8211; Java Language Specification. Jest to formalny dokument, kt\u00f3ry opisuje sk\u0142adni\u0119 i semantyk\u0119 Javy. JLS jest przewodnikiem nie tyle dla programist\u00f3w, co tw\u00f3rc\u00f3w kompilator\u00f3w i narz\u0119dzi w celu zapewnienia sp\u00f3jnej i dok\u0142adnej implementacji j\u0119zyka na r\u00f3\u017cnych platformach i \u015brodowiskach.<\/p>\n\n\n\n<p>Nie ka\u017cdy JEP zawiera zmiany w specyfikacji j\u0119zyka. Przyk\u0142adami JEP\u00f3w edytuj\u0105cych JLS s\u0105 np. <a href=\"https:\/\/openjdk.org\/jeps\/286\">JEP 286: Local-Variable Type Inference<\/a> (nowe s\u0142owo kluczowe 'var&#8217; jego regu\u0142y) czy te\u017c <a href=\"https:\/\/openjdk.org\/jeps\/354\">JEP 354: Switch Expressions<\/a>, rozszerzaj\u0105cy instrukcj\u0119 <code>switch<\/code>, aby mog\u0142a by\u0107 u\u017cywana r\u00f3wnie\u017c jako <em>wyra\u017cenie<\/em>, a tak\u017ce wprowadzaj\u0105cy u\u017cycie tak zwanych &#8222;Arrow labels&#8221; (np. <code>case 1 -&gt;<\/code>). JLS musia\u0142 zosta\u0107 zaktualizowany, aby pomie\u015bci\u0107 wspomnian\u0105 now\u0105 sk\u0142adni\u0119 <code>switch<\/code>.<\/p>\n\n\n\n<p>Wracaj\u0105c do <a href=\"https:\/\/openjdk.org\/jeps\/447\">JEP 447: Statements before super()<\/a>, proposal ma na celu rozlu\u017anienie ogranicze\u0144 dotycz\u0105cych Javowych konstruktor\u00f3w i umo\u017cliwi\u0107 na inne wywo\u0142ania jeszcze przed <code>this()<\/code> lub <code>super()<\/code>, o ile pola instancji nie s\u0105 odczytywane do czasu zako\u0144czenia konstrukcji superklasy, takich jak np. inicjalizowania zmiennych.<\/p>\n\n\n\n<p>Co ciekawe, Java Virtual Machine Specification (JVMS) &#8211; czyli odpowiednik JLS dla maszyny wirtualnej &#8211; ju\u017c na to pozwala. To JLS ma pewne ograniczenia zwi\u0105zane z kontekstem statycznym (i pewnymi bugami z przesz\u0142o\u015bci), ale z punktu widzenia  VM nie s\u0105 one konieczne do prawid\u0142owego funkcjonowania konstruktor\u00f3w. Proponowane zmiany stworzy\u0142yby now\u0105 koncepcj\u0119 zwan\u0105 &#8222;kontekstem pre-inicjalizacji&#8221;, kt\u00f3ra jest mniej restrykcyjna ni\u017c istniej\u0105cy &#8222;kontekst statyczny&#8221; i pozwoli\u0142aby na pojawienie si\u0119 deklaracji przed wywo\u0142aniami <code>this()<\/code> i <code>super()<\/code>. <\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Ostatnimi tygodniami pojawi\u0142 si\u0119 r\u00f3wnie\u017c <a href=\"https:\/\/openjdk.org\/jeps\/449\">JEP 449: Deprecate the Windows x86-32 Port<\/a>. Poprzez niego, tw\u00f3rcy Javy przymierzaj\u0105 si\u0119 do usuni\u0119cia wersji JDK na system operacyjny Windows w wersji 32-bitowej. Na taki krok z\u0142o\u017cy\u0142o si\u0119 kilka czynnik\u00f3w, jak cho\u0107by fakt, \u017ce Microsoft (zmiana zosta\u0142a zaproponowana zreszt\u0105 przez t\u0105 w\u0142a\u015bnie firm\u0119) ostatecznie przesta\u0142 ju\u017c wydawa\u0107 nowe wersje 32-bitowych system\u00f3w operacyjnych, a ostatni z nich (Windows 10) straci wsparcie tw\u00f3rc\u00f3w w drugiej po\u0142owie 2025. Znacznie ciekawsze s\u0105 jednak tutaj pobudki praktyczne \u2013 z JEP-a okazuje si\u0119 bowiem, \u017ce implementacja Wirtualny W\u0105tk\u00f3w nie jest kompatybilna z 32-bitowymi procesorami.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/7jsf6w.jpg\" alt=\"\" width=\"400\" height=\"225\"\/><figcaption class=\"wp-element-caption\">Pewnie powy\u017csze by\u0142o wiadome od dawna, a tylko dla mnie to wzi\u0119\u0142o z zaskoczenia i dowiedzia\u0142em si\u0119 o tym dopiero na poziomie draftu powy\u017cszego JEP-a.<\/figcaption><\/figure><\/div>\n\n\n<p>Tak\u017ce ju\u017c nied\u0142ugo chc\u0105cych zbudowa\u0107 aplikacj\u0119 przy pomocy JDK na porzuconych systemach, przywita Was poni\u017cszy komunikat.<\/p>\n\n\n\n<p><code>configure: error: The Windows x86-32 port is deprecated and may be removed in a future release.<\/code><\/p>\n\n\n\n<p>No c\u00f3\u017c, procesory 32-bitowe odchodz\u0105 ju\u017c w niepami\u0119\u0107 \u2013 ostatni\u0105 wspieran\u0105 wersj\u0105 pozostanie ta na architektur\u0119 arm32.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Mo\u017cna si\u0119 rozej\u015b\u0107 za to je\u015bli chodzi o JEP 446, Scoped Values (Preview).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/El4UalY.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>Poni\u017cszy fragment (szary) to jedyne zmiany jakie pojawi\u0142y si\u0119 mi\u0119dzy <a href=\"https:\/\/openjdk.org\/jeps\/446\">JEP 446 &#8211; Scoped Values (Preview)<\/a>, a <a href=\"https:\/\/openjdk.org\/jeps\/429\">JEP 429: Scoped Values (Incubator)<\/a>, kt\u00f3ry pojawi\u0142 si\u0119 w JDK 20. Jak widzicie, za wiele tego nie ma.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>A, i tym razem nie zapomnieli o Vector API, jak to mia\u0142o miejsce przy JDK 20. W <a href=\"https:\/\/openjdk.org\/jeps\/448\">JEP 448<\/a> dosta\u0142o swoj\u0105 (ju\u017c sz\u00f3st\u0105) inkubacj\u0119. Ale to w zasadzie jedyna ciekawa informacja w kontek\u015bcie tego API, od dawna ju\u017c czekaj\u0105cego na premier\u0119 Valhalla API. D\u0142ugoterminowym celem Vector API jest bowiem wykorzystanie ulepsze\u0144 Valhalli, zw\u0142aszcza Value Classes, nie posiadaj\u0105cych to\u017csamo\u015bci. Vector API b\u0119dzie wi\u0119c inkubowane przez wiele wyda\u0144, a\u017c niezb\u0119dne funkcje Projektu Valhalla stan\u0105 si\u0119 dost\u0119pne jako Preview. Wtedy Vector API zostanie dostosowane do jego semantyki i r\u00f3wnie\u017c dopiero wtedy trafi do Preview.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/rgo70Gl.png\" alt=\"\" width=\"962\" height=\"303\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/openjdk.org\/jeps\/447\">JEP 447: Statements before super()<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/openjdk.org\/jeps\/449\">JEP 449: Deprecate the Windows 32-bit x86 Port for Removal<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/openjdk.org\/jeps\/446\">JEP 446: Scoped Values (Preview)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/openjdk.org\/jeps\/429\">JEP 429: Scoped Values (Incubator)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/openjdk.org\/jeps\/448\">JEP 448: Vector API (Sixth Incubator)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/openjdk.org\/jeps\/438\">JEP 438: Vector API (Fifth Incubator)<\/a><\/li>\n<\/ul>\n\n\n\n<h2 id=\"2-pierwsze-informacje-na-temat-jakarta-ee-11\" data-num=2>2. Pierwsze informacje na temat Jakarta EE 11<\/h2>\n\n\n\n<p>Ostatni tydzie\u0144 to r\u00f3wnie\u017c wysyp informacji dotycz\u0105cych szeroko rozumianej Enterprise Java. Zacznijmy wi\u0119c od pierwszego du\u017cego og\u0142oszenia, kt\u00f3rym jest <a href=\"https:\/\/newsroom.eclipse.org\/eclipse-newsletter\/2023\/march\/jakarta-ee-11-first-big-leap-jakarta\">prezentacja pierwszych za\u0142o\u017ce\u0144 wobec Jakarty EE 11<\/a>.<\/p>\n\n\n\n<p>Komitet steruj\u0105cy Jakarta EE nakre\u015bli\u0142 cztery g\u0142\u00f3wne obszary priorytetowe dla projekt\u00f3w: u\u0142atwienie &#8222;wej\u015bcia&#8221; w projekt nowym cz\u0142onkom spo\u0142eczno\u015bci, ujednolicenie platformy wok\u00f3\u0142 nowoczesnych API takich jak CDI oraz ograniczenie wewn\u0119trznych niesp\u00f3jno\u015bci, kt\u00f3re nawarstwi\u0142y si\u0119 przez lata, wprowadzenie nowych specyfikacji, takich jak Jakarta Config czy Jakarta Data, a &#8222;dogonienie&#8221; nowoczesnej Javy.. Nowe wydanie ma na celu wykorzystanie nowo\u015bci, jakie pojawi\u0105 si\u0119 w najnowszym LTS &#8211; Java 21. Wprawdzie tw\u00f3rcy nie deklaruj\u0105 na tym etapie ch\u0119ci porzucenia starszych wyda\u0144, ale w zapowiedzi przewija si\u0119 np. u\u017cycie nowych mo\u017cliwo\u015bci jakie daje Project Loom. Tw\u00f3rcy nie zapominaj\u0105 jednak o kilku ostatnich latach rozwoju platformy i deklaruj\u0105 ch\u0119\u0107 bli\u017cszego przygl\u0105dni\u0119cia si\u0119 r\u00f3wnie\u017c nowo\u015bci\u0105 z kilku ostatnich lat, jak np. Rekordom.<\/p>\n\n\n\n<p>Bardzo ciekawie wygl\u0105da aspekt spo\u0142eczno\u015bciowy. Proces anga\u017cowania si\u0119 w rozw\u00f3j platformy musi by\u0107 uproszczony, z wyra\u017aniejszymi drogowskazami i wskaz\u00f3wkami dla nowych wsp\u00f3\u0142pracownik\u00f3w &#8211; standaryzacja procedur w r\u00f3\u017cnych projektach i lepsza dokumentacja ma pom\u00f3c to osi\u0105gn\u0105\u0107. Pierwsz\u0105 jask\u00f3\u0142k\u0105 mo\u017ce by\u0107 fakt, \u017ce ju\u017c na tak wczesnym etapie tw\u00f3rcy udost\u0119pnili <a href=\"https:\/\/docs.google.com\/document\/d\/1m-dkvbL0iFFzitO4vt1SVq6GGSJyFdCDM2NU_FzGS10\/edit#heading=h.1oyn459kodrn\">dokument<\/a> (w Google Docsach!), pozwalaj\u0105cy przygl\u0105dn\u0105\u0107 si\u0119 w szczeg\u00f3\u0142ach pomys\u0142om przy\u015bwiecaj\u0105cym nowemu wydaniu. Mo\u017cna przyk\u0142adowo, zobaczy\u0107 od kuchni jak wygl\u0105daj\u0105 takie tematy jak zbli\u017canie do siebie MicroProfile i Jakarty, czy stopniowe odchodzenie od EJB.<\/p>\n\n\n\n<p>Docelowa data wydania Jakarta EE 11 to pierwszy kwarta\u0142 2024 roku, oko\u0142o sze\u015b\u0107 miesi\u0119cy po wydaniu Java 21.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>To jednak nie koniec nowo\u015bci zwi\u0105zanych z szeroko rozumian\u0105 Enterprise Java, poniewa\u017c wydany zosta\u0142 <a href=\"https:\/\/www.wildfly.org\/news\/2023\/04\/20\/WildFly28-Released\">WildFly 28<\/a>. Projekt ten ostatnio porzuci\u0142 Release Train, przechodz\u0105c na wydania zwi\u0105zane z jakimi\u015b konkretnymi, du\u017cymi nowymi funkcjonalno\u015bciami. Tym razem jest to dopasowanie si\u0119 do ostatnich zmian w MicroProfile.<\/p>\n\n\n\n<p>Szczeg\u00f3lnie du\u017ce zmiany zasz\u0142y w kontek\u015bcie tak zwanej &#8222;obserwowalno\u015bci&#8221;, ale \u017ceby je zrozumie\u0107, trzeba nakre\u015bli\u0107 nieco szerszego kontekstu. Organizacj\u0105 zajmuj\u0105c\u0105 si\u0119 tworzeniem standard\u00f3w je\u015bli chodzi o Tracing \u2013 czyli \u015bledzenia poszczeg\u00f3lnych zdarze\u0144 w ramach aplikacji \u2013 jest Cloud Native Computing Foundation (w skr\u00f3cie CNCF). Przez lata rozwijane by\u0142o kilka konkurencyjnych projekt\u00f3w, takich jak OpenCensus czy OpenTracing. Ten ostatni trafi\u0142 do MicroProfile jako MicroProfile OpenTracing API, implementacji tego\u017c za\u015b posiada\u0142 WildFly.<\/p>\n\n\n\n<p>CNCF pocz\u0105tkiem roku zdecydowa\u0142 si\u0119 na porzucenie rozwoju OpenTracingu na rzecz OpenTelemetry, b\u0119d\u0105cego nieco szerszym projektem, przez co MicroProfile OpenTracing API oberwa\u0142o rykoszetem i od wersji 6.0 projektu r\u00f3wnie\u017c przesta\u0142o by\u0107 wspierane. Na jego miejsce powsta\u0142o MicroProfile Telemetry Tracing, implementuj\u0105ce standard Tracingu pochodz\u0105cy OpenTelemetry. W zwi\u0105zku z tym, WildFly r\u00f3wnie\u017c dokona\u0142 u siebie takich zmian, tworz\u0105c nowy modu\u0142 <code>microprofile-telemetry<\/code>, kt\u00f3ry zast\u0105pi OpenTelemtry.<\/p>\n\n\n\n<p>To jednak nie koniec &#8211; WildFly postanowi\u0142 porzuci\u0107 wsparcie dla MicroProfile Metrics API, standardu metryk rozwijanego w ramach MicroProfile. Zamiast tego WildFly u\u017cywa\u0107 b\u0119dzie Micrometer, podobnej w swojej naturze do SLF4J fasady umo\u017cliwiaj\u0105cej prac\u0119 z wieloma systemami metryk. Kluczowym dla podj\u0119cia takiej decyzji jest stabilizacja OpenTelemetry Metrics \u2013 czyli komplementarnego dla OpenTelemetry Tracing standardu metryk \u2013 kt\u00f3ry przez Micrometer jest wspierany. S\u0105 to kroki, kt\u00f3re poczyni\u0142 ostatnio r\u00f3wnie\u017c Quarkus &#8211; Micrometer staje si\u0119 wi\u0119c powoli standardem je\u015bli chodzi o Javowe Metryki.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/11\/image-6.png\" alt=\"\" width=\"500\" height=\"284\"\/><figcaption class=\"wp-element-caption\">Ale jak to jest z tymi standardami to my dobrze wiemy<\/figcaption><\/figure><\/div>\n\n\n<p>Ko\u0144cz\u0105c temat MicroProfile, WildFly wprowadza wsparcie dla <a href=\"https:\/\/download.eclipse.org\/microprofile\/microprofile-lra-1.0-M1\/microprofile-lra-spec.html\">MicroProfile LRA (Long Running Action)<\/a>, stanowi\u0105cego poboczny projekt, nie wchodz\u0105cy w sk\u0142ad g\u0142\u00f3wnego standardu. Nowy WildFly posiada te\u017c troch\u0119 pomniejszych zmian, ale te ju\u017c polecam wam sprawdzi\u0107 samemu w Release Notes.<\/p>\n\n\n\n<p>Ko\u0144cz\u0105c t\u0105 i tak przyd\u0142ug\u0105 serie, warto wspomnie\u0107 o nowym wydaniu Open Liberty, &#8222;chmuronatywnego&#8221; serwera aplikacyjnego rozwijanego przez IBM. Nowe wydanie <a href=\"https:\/\/openliberty.io\/blog\/2023\/04\/04\/23.0.0.3.html\">OpenLiberty 23.0.0<\/a> to du\u017cy skok do przodu &#8211; zawiera pe\u0142ne wsparcie dla Jakarta EE 10, funkcjonalno\u015bci przychodz\u0105ce z JDK 20 oraz MicroProfile 6. Zw\u0142aszcza ten ostatni jest tutaj interesuj\u0105cy &#8211; w odr\u00f3\u017cnieniu od WildFly, IBM zdecydowa\u0142 si\u0119 r\u00f3wnie\u017c na wsparcie MP Metrics.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/zvhJQKs.jpg\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Dzi\u0119ki temu mog\u0105 si\u0119 chwali\u0107 pe\u0142n\u0105 kompatybilno\u015bci\u0105 ze standardem MicroProfile 6.0 &#8211; wyb\u00f3r Micrometer jako dostawcy metryk sprawi\u0142, \u017ce WildFly nie mo\u017ce sobie na to pozwoli\u0107.<\/figcaption><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/newsroom.eclipse.org\/eclipse-newsletter\/2023\/march\/jakarta-ee-11-first-big-leap-jakarta\">Jakarta EE 11: The First Big Leap for Jakarta | Eclipse News, Eclipse in the News, Eclipse Announcement<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.google.com\/document\/d\/1m-dkvbL0iFFzitO4vt1SVq6GGSJyFdCDM2NU_FzGS10\/edit#heading=h.1oyn459kodrn\">Jakarta EE 11 Discussion &#8211; Dokumenty Google<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.wildfly.org\/news\/2023\/04\/20\/WildFly28-Released\">WildFly 28 is released!<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/download.eclipse.org\/microprofile\/microprofile-lra-1.0-M1\/microprofile-lra-spec.html\">Eclipse MicroProfile LRA<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/openliberty.io\/blog\/2023\/04\/04\/23.0.0.3.html\">Jakarta EE 10, MicroProfile 6, and Java SE 20 support in Open Liberty 23.0.0.3<\/a><\/li>\n<\/ul>\n\n\n\n<h2 id=\"3-release-radar-micronaut-ktor\" data-num=3>3. Release Radar: Micronaut &amp; Ktor<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Micronaut 3.9.0<\/h3>\n\n\n\n<p>Micronaut wyda\u0142 <a href=\"https:\/\/micronaut.io\/2023\/04\/18\/micronaut-framework-3-9-0-released\/\">Micronaut Framework 3.9.0<\/a>, wprowadzaj\u0105c nowe funkcje, takie jak konfigurowalne pakiety introspekcji z adnotacj\u0105 <code>@Introspected<\/code>, konfiguracj\u0119 CORS opart\u0105 na adnotacjach. Wydanie zawiera r\u00f3wnie\u017c mas\u0119 aktualizacji poszczeg\u00f3lnych modu\u0142\u00f3w &#8211; &#8222;du\u017cej&#8221; nowej wersji (4.0) doczeka\u0142 si\u0119 Micronaut Kubernetes, a aktualizacji Micronaut Security, Micronaut Maven, Micronaut Launch\/CLI, a tak\u017ce Micronaut CRaC. Z tym ostatnim wi\u0105\u017ce si\u0119 fakt, \u017ce od nowego wydania funkcje AWS Lambda utworzone za pomoc\u0105 Micronaut maj\u0105 domy\u015blnie w\u0142\u0105czony AWS SnapStart.<\/p>\n\n\n\n<p>Micronaut Framework rozszerzy\u0142 te\u017c wsparcie rodzaj\u00f3w plik\u00f3w konfiguracyjnych, i wspiera teraz YAML, properties, TOML, Groovy i Hocon. Poza samym wsparciem, dokumentacja projektu zosta\u0142a zaktualizowana, aby pokaza\u0107 fragmenty konfiguracji w r\u00f3\u017cnych obs\u0142ugiwanych formatach.<\/p>\n\n\n\n<p>Wysypu mniejszych i wi\u0119kszych aktualizacji doczeka\u0142y si\u0119 te\u017c integracje zewn\u0119trzne. Micronaut 3.9.0 przynosi kilka nowych &#8211; do Azure Cosmos DB, Google CloudEvents, Google Cloud Functions czy Slacka. Wiele ju\u017c istniej\u0105cych, jak min. Micronaut ElasticSearch czy Micronaut Micrometer, doczeka\u0142o si\u0119 za\u015b aktualizacji.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/yqI1DFI.jpg\" alt=\"\"\/><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">Ktor 2.3.0<\/h3>\n\n\n\n<p>\u017beby tak nie by\u0142o, \u017ce nowe wydanie jest tak zupe\u0142nie pozbawione w\u0105tk\u00f3w Kotlinowych &#8211; JetBrains wyda\u0142o <a href=\"https:\/\/blog.jetbrains.com\/ktor\/2023\/04\/18\/ktor-2-3-0-released\/\">Ktor 2.3.0<\/a>, wprowadzaj\u0105cego wiele ma\u0142ych usprawnie\u0144. Mi\u0119dzy innymi, Sockety dosta\u0142y wsparcie lepsze wsparcie Korutyn oraz Structure Concurrency, WebSocket otrzyma\u0142y za\u015b wsparcie typowania. Id\u0105c te\u017c za rozwojem samego Kotlina, nowe wydanie pozywa si\u0119 istniej\u0105cego kompilatora JavaScript, u\u017cywaj\u0105c nowej warstwy po\u015bredniej.<\/p>\n\n\n\n<p>Dodatkowo, routing dosta\u0142 wsparcie wyra\u017ce\u0144 regularnych, dosz\u0142o do refactoru Static Content API, pojawi\u0142o si\u0119 te\u017c wsparcie dla Jetty 11 i Tomcat 10 Udost\u0119pniono te\u017c mo\u017cliwo\u015b\u0107 scalania kilku plik\u00f3w konfiguracyjnych, co u\u0142atwia modularyzacj\u0119 projekt\u00f3w. Ko\u0144cz\u0105c list\u0119 zmian, sanityzacja wra\u017cliwych nag\u0142\u00f3wk\u00f3w jest teraz dost\u0119pna w pluginie Logging.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>PS: Pojawi\u0142 si\u0119 te\u017c Quarkus 3.0. Ale jest to na tyle du\u017ce wydanie, \u017ce chce si\u0119 nim najpierw troch\u0119 pobawi\u0107 i po\u015bwi\u0119ci\u0107 ca\u0142\u0105 osobn\u0105 sekcje. Zmian pod sodem jest tam bowiem ca\u0142a masa.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>W dzisiejszym podsumowaniu omawiamy wysyp nowych kandydackich JEP-\u00f3w, takich jak JEP 447, kt\u00f3ry wprowadza zmiany w JLS, a tak\u017ce JEP 449, kt\u00f3ry deprecjonuje Windows x86-32 Port. Nast\u0119pnie, dowiadujemy si\u0119 o pierwszych informacjach na temat Jakarta EE 11 i zmianach wprowadzanych przez WildFly 28 oraz Open Liberty 23.0.0. Wreszcie, omawiamy nowe wydania Micronaut oraz Ktor.<\/p>\n","protected":false},"author":10,"featured_media":15846,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[23],"tags":[],"class_list":["post-15835","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jvm"],"acf":{"estimated_reading_time":"8","feature_image_blog":false,"weekly_summary":true,"push_notification_image":"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/JVM-Weekly-1200x628_V2-8.png","feature_image_visible":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Przysz\u0142o\u015b\u0107 i tera\u017aniejszo\u015b\u0107 Java Enterprise: pierwsze spojrzenie na Jakarta EE 11 i adopcja MicroProfile 6 - JVM Weekly vol. 133 - Vived<\/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:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Przysz\u0142o\u015b\u0107 i tera\u017aniejszo\u015b\u0107 Java Enterprise: pierwsze spojrzenie na Jakarta EE 11 i adopcja MicroProfile 6 - JVM Weekly vol. 133 - Vived\" \/>\n<meta property=\"og:description\" content=\"W dzisiejszym podsumowaniu omawiamy wysyp nowych kandydackich JEP-\u00f3w, takich jak JEP 447, kt\u00f3ry wprowadza zmiany w JLS, a tak\u017ce JEP 449, kt\u00f3ry deprecjonuje Windows x86-32 Port. Nast\u0119pnie, dowiadujemy si\u0119 o pierwszych informacjach na temat Jakarta EE 11 i zmianach wprowadzanych przez WildFly 28 oraz Open Liberty 23.0.0. Wreszcie, omawiamy nowe wydania Micronaut oraz Ktor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-28T05:21:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-28T05:21:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/JVM-Weekly-1200x628_V2-8.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Artur Skowro\u0144ski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"Przysz\u0142o\u015b\u0107 i tera\u017aniejszo\u015b\u0107 Java Enterprise: pierwsze spojrzenie na Jakarta EE 11 i adopcja MicroProfile 6 &#8211; JVM Weekly vol. 133\",\"datePublished\":\"2023-04-28T05:21:41+00:00\",\"dateModified\":\"2023-04-28T05:21:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/\"},\"wordCount\":1778,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/JVM-Weekly-1200x628_V2-8.png\",\"articleSection\":[\"JVM\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/\",\"url\":\"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/\",\"name\":\"Przysz\u0142o\u015b\u0107 i tera\u017aniejszo\u015b\u0107 Java Enterprise: pierwsze spojrzenie na Jakarta EE 11 i adopcja MicroProfile 6 - JVM Weekly vol. 133 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/JVM-Weekly-1200x628_V2-8.png\",\"datePublished\":\"2023-04-28T05:21:41+00:00\",\"dateModified\":\"2023-04-28T05:21:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/JVM-Weekly-1200x628_V2-8.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/JVM-Weekly-1200x628_V2-8.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Przysz\u0142o\u015b\u0107 i tera\u017aniejszo\u015b\u0107 Java Enterprise: pierwsze spojrzenie na Jakarta EE 11 i adopcja MicroProfile 6 &#8211; JVM Weekly vol. 133\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vived.io\/pl\/#website\",\"url\":\"https:\/\/vived.io\/pl\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vived.io\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vived.io\/pl\/#organization\",\"name\":\"Vived\",\"url\":\"https:\/\/vived.io\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"width\":136,\"height\":45,\"caption\":\"Vived\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\",\"name\":\"Artur Skowro\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"caption\":\"Artur Skowro\u0144ski\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Przysz\u0142o\u015b\u0107 i tera\u017aniejszo\u015b\u0107 Java Enterprise: pierwsze spojrzenie na Jakarta EE 11 i adopcja MicroProfile 6 - JVM Weekly vol. 133 - Vived","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:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/","og_locale":"pl_PL","og_type":"article","og_title":"Przysz\u0142o\u015b\u0107 i tera\u017aniejszo\u015b\u0107 Java Enterprise: pierwsze spojrzenie na Jakarta EE 11 i adopcja MicroProfile 6 - JVM Weekly vol. 133 - Vived","og_description":"W dzisiejszym podsumowaniu omawiamy wysyp nowych kandydackich JEP-\u00f3w, takich jak JEP 447, kt\u00f3ry wprowadza zmiany w JLS, a tak\u017ce JEP 449, kt\u00f3ry deprecjonuje Windows x86-32 Port. Nast\u0119pnie, dowiadujemy si\u0119 o pierwszych informacjach na temat Jakarta EE 11 i zmianach wprowadzanych przez WildFly 28 oraz Open Liberty 23.0.0. Wreszcie, omawiamy nowe wydania Micronaut oraz Ktor.","og_url":"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/","og_site_name":"Vived","article_published_time":"2023-04-28T05:21:41+00:00","article_modified_time":"2023-04-28T05:21:44+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/JVM-Weekly-1200x628_V2-8.png","type":"image\/png"}],"author":"Artur Skowro\u0144ski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"Przysz\u0142o\u015b\u0107 i tera\u017aniejszo\u015b\u0107 Java Enterprise: pierwsze spojrzenie na Jakarta EE 11 i adopcja MicroProfile 6 &#8211; JVM Weekly vol. 133","datePublished":"2023-04-28T05:21:41+00:00","dateModified":"2023-04-28T05:21:44+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/"},"wordCount":1778,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/JVM-Weekly-1200x628_V2-8.png","articleSection":["JVM"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/","url":"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/","name":"Przysz\u0142o\u015b\u0107 i tera\u017aniejszo\u015b\u0107 Java Enterprise: pierwsze spojrzenie na Jakarta EE 11 i adopcja MicroProfile 6 - JVM Weekly vol. 133 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/JVM-Weekly-1200x628_V2-8.png","datePublished":"2023-04-28T05:21:41+00:00","dateModified":"2023-04-28T05:21:44+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/JVM-Weekly-1200x628_V2-8.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/JVM-Weekly-1200x628_V2-8.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/przyszlosc-i-terazniejszosc-java-enterprise-pierwsze-spojrzenie-na-jakarta-ee-11-i-adopcja-microprofile-6-jvm-weekly-vol-133\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Przysz\u0142o\u015b\u0107 i tera\u017aniejszo\u015b\u0107 Java Enterprise: pierwsze spojrzenie na Jakarta EE 11 i adopcja MicroProfile 6 &#8211; JVM Weekly vol. 133"}]},{"@type":"WebSite","@id":"https:\/\/vived.io\/pl\/#website","url":"https:\/\/vived.io\/pl\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vived.io\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/vived.io\/pl\/#organization","name":"Vived","url":"https:\/\/vived.io\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","width":136,"height":45,"caption":"Vived"},"image":{"@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3","name":"Artur Skowro\u0144ski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","caption":"Artur Skowro\u0144ski"}}]}},"blocks_vived":[{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2 class=\"wp-block-heading\">1. Wysyp nowych kandydackich JEP-\u00f3w<\/h2>\n","innerContent":["\n<h2 class=\"wp-block-heading\">1. Wysyp nowych kandydackich JEP-\u00f3w<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Zacznijmy od najwi\u0119kszej koby\u0142y - <a href=\"https:\/\/openjdk.org\/jeps\/447\">JEP 447: Statements before super()<\/a>. Ten JEP jest ciekawy, poniewa\u017c zawiera zmiany w JLS - Java Language Specification. Jest to formalny dokument, kt\u00f3ry opisuje sk\u0142adni\u0119 i semantyk\u0119 Javy. JLS jest przewodnikiem nie tyle dla programist\u00f3w, co tw\u00f3rc\u00f3w kompilator\u00f3w i narz\u0119dzi w celu zapewnienia sp\u00f3jnej i dok\u0142adnej implementacji j\u0119zyka na r\u00f3\u017cnych platformach i \u015brodowiskach.<\/p>\n","innerContent":["\n<p>Zacznijmy od najwi\u0119kszej koby\u0142y - <a href=\"https:\/\/openjdk.org\/jeps\/447\">JEP 447: Statements before super()<\/a>. Ten JEP jest ciekawy, poniewa\u017c zawiera zmiany w JLS - Java Language Specification. Jest to formalny dokument, kt\u00f3ry opisuje sk\u0142adni\u0119 i semantyk\u0119 Javy. JLS jest przewodnikiem nie tyle dla programist\u00f3w, co tw\u00f3rc\u00f3w kompilator\u00f3w i narz\u0119dzi w celu zapewnienia sp\u00f3jnej i dok\u0142adnej implementacji j\u0119zyka na r\u00f3\u017cnych platformach i \u015brodowiskach.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Nie ka\u017cdy JEP zawiera zmiany w specyfikacji j\u0119zyka. Przyk\u0142adami JEP\u00f3w edytuj\u0105cych JLS s\u0105 np. <a href=\"https:\/\/openjdk.org\/jeps\/286\">JEP 286: Local-Variable Type Inference<\/a> (nowe s\u0142owo kluczowe 'var' jego regu\u0142y) czy te\u017c <a href=\"https:\/\/openjdk.org\/jeps\/354\">JEP 354: Switch Expressions<\/a>, rozszerzaj\u0105cy instrukcj\u0119 <code>switch<\/code>, aby mog\u0142a by\u0107 u\u017cywana r\u00f3wnie\u017c jako <em>wyra\u017cenie<\/em>, a tak\u017ce wprowadzaj\u0105cy u\u017cycie tak zwanych \"Arrow labels\" (np. <code>case 1 -&gt;<\/code>). JLS musia\u0142 zosta\u0107 zaktualizowany, aby pomie\u015bci\u0107 wspomnian\u0105 now\u0105 sk\u0142adni\u0119 <code>switch<\/code>.<\/p>\n","innerContent":["\n<p>Nie ka\u017cdy JEP zawiera zmiany w specyfikacji j\u0119zyka. Przyk\u0142adami JEP\u00f3w edytuj\u0105cych JLS s\u0105 np. <a href=\"https:\/\/openjdk.org\/jeps\/286\">JEP 286: Local-Variable Type Inference<\/a> (nowe s\u0142owo kluczowe 'var' jego regu\u0142y) czy te\u017c <a href=\"https:\/\/openjdk.org\/jeps\/354\">JEP 354: Switch Expressions<\/a>, rozszerzaj\u0105cy instrukcj\u0119 <code>switch<\/code>, aby mog\u0142a by\u0107 u\u017cywana r\u00f3wnie\u017c jako <em>wyra\u017cenie<\/em>, a tak\u017ce wprowadzaj\u0105cy u\u017cycie tak zwanych \"Arrow labels\" (np. <code>case 1 -&gt;<\/code>). JLS musia\u0142 zosta\u0107 zaktualizowany, aby pomie\u015bci\u0107 wspomnian\u0105 now\u0105 sk\u0142adni\u0119 <code>switch<\/code>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Wracaj\u0105c do <a href=\"https:\/\/openjdk.org\/jeps\/447\">JEP 447: Statements before super()<\/a>, proposal ma na celu rozlu\u017anienie ogranicze\u0144 dotycz\u0105cych Javowych konstruktor\u00f3w i umo\u017cliwi\u0107 na inne wywo\u0142ania jeszcze przed <code>this()<\/code> lub <code>super()<\/code>, o ile pola instancji nie s\u0105 odczytywane do czasu zako\u0144czenia konstrukcji superklasy, takich jak np. inicjalizowania zmiennych.<\/p>\n","innerContent":["\n<p>Wracaj\u0105c do <a href=\"https:\/\/openjdk.org\/jeps\/447\">JEP 447: Statements before super()<\/a>, proposal ma na celu rozlu\u017anienie ogranicze\u0144 dotycz\u0105cych Javowych konstruktor\u00f3w i umo\u017cliwi\u0107 na inne wywo\u0142ania jeszcze przed <code>this()<\/code> lub <code>super()<\/code>, o ile pola instancji nie s\u0105 odczytywane do czasu zako\u0144czenia konstrukcji superklasy, takich jak np. inicjalizowania zmiennych.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Co ciekawe, Java Virtual Machine Specification (JVMS) - czyli odpowiednik JLS dla maszyny wirtualnej - ju\u017c na to pozwala. To JLS ma pewne ograniczenia zwi\u0105zane z kontekstem statycznym (i pewnymi bugami z przesz\u0142o\u015bci), ale z punktu widzenia  VM nie s\u0105 one konieczne do prawid\u0142owego funkcjonowania konstruktor\u00f3w. Proponowane zmiany stworzy\u0142yby now\u0105 koncepcj\u0119 zwan\u0105 \"kontekstem pre-inicjalizacji\", kt\u00f3ra jest mniej restrykcyjna ni\u017c istniej\u0105cy \"kontekst statyczny\" i pozwoli\u0142aby na pojawienie si\u0119 deklaracji przed wywo\u0142aniami <code>this()<\/code> i <code>super()<\/code>. <\/p>\n","innerContent":["\n<p>Co ciekawe, Java Virtual Machine Specification (JVMS) - czyli odpowiednik JLS dla maszyny wirtualnej - ju\u017c na to pozwala. To JLS ma pewne ograniczenia zwi\u0105zane z kontekstem statycznym (i pewnymi bugami z przesz\u0142o\u015bci), ale z punktu widzenia  VM nie s\u0105 one konieczne do prawid\u0142owego funkcjonowania konstruktor\u00f3w. Proponowane zmiany stworzy\u0142yby now\u0105 koncepcj\u0119 zwan\u0105 \"kontekstem pre-inicjalizacji\", kt\u00f3ra jest mniej restrykcyjna ni\u017c istniej\u0105cy \"kontekst statyczny\" i pozwoli\u0142aby na pojawienie si\u0119 deklaracji przed wywo\u0142aniami <code>this()<\/code> i <code>super()<\/code>. <\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ostatnimi tygodniami pojawi\u0142 si\u0119 r\u00f3wnie\u017c <a href=\"https:\/\/openjdk.org\/jeps\/449\">JEP 449: Deprecate the Windows x86-32 Port<\/a>. Poprzez niego, tw\u00f3rcy Javy przymierzaj\u0105 si\u0119 do usuni\u0119cia wersji JDK na system operacyjny Windows w wersji 32-bitowej. Na taki krok z\u0142o\u017cy\u0142o si\u0119 kilka czynnik\u00f3w, jak cho\u0107by fakt, \u017ce Microsoft (zmiana zosta\u0142a zaproponowana zreszt\u0105 przez t\u0105 w\u0142a\u015bnie firm\u0119) ostatecznie przesta\u0142 ju\u017c wydawa\u0107 nowe wersje 32-bitowych system\u00f3w operacyjnych, a ostatni z nich (Windows 10) straci wsparcie tw\u00f3rc\u00f3w w drugiej po\u0142owie 2025. Znacznie ciekawsze s\u0105 jednak tutaj pobudki praktyczne \u2013 z JEP-a okazuje si\u0119 bowiem, \u017ce implementacja Wirtualny W\u0105tk\u00f3w nie jest kompatybilna z 32-bitowymi procesorami.<\/p>\n","innerContent":["\n<p>Ostatnimi tygodniami pojawi\u0142 si\u0119 r\u00f3wnie\u017c <a href=\"https:\/\/openjdk.org\/jeps\/449\">JEP 449: Deprecate the Windows x86-32 Port<\/a>. Poprzez niego, tw\u00f3rcy Javy przymierzaj\u0105 si\u0119 do usuni\u0119cia wersji JDK na system operacyjny Windows w wersji 32-bitowej. Na taki krok z\u0142o\u017cy\u0142o si\u0119 kilka czynnik\u00f3w, jak cho\u0107by fakt, \u017ce Microsoft (zmiana zosta\u0142a zaproponowana zreszt\u0105 przez t\u0105 w\u0142a\u015bnie firm\u0119) ostatecznie przesta\u0142 ju\u017c wydawa\u0107 nowe wersje 32-bitowych system\u00f3w operacyjnych, a ostatni z nich (Windows 10) straci wsparcie tw\u00f3rc\u00f3w w drugiej po\u0142owie 2025. Znacznie ciekawsze s\u0105 jednak tutaj pobudki praktyczne \u2013 z JEP-a okazuje si\u0119 bowiem, \u017ce implementacja Wirtualny W\u0105tk\u00f3w nie jest kompatybilna z 32-bitowymi procesorami.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":400,"height":225},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/7jsf6w.jpg\" alt=\"\" width=\"400\" height=\"225\"\/><figcaption class=\"wp-element-caption\">Pewnie powy\u017csze by\u0142o wiadome od dawna, a tylko dla mnie to wzi\u0119\u0142o z zaskoczenia i dowiedzia\u0142em si\u0119 o tym dopiero na poziomie draftu powy\u017cszego JEP-a.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/7jsf6w.jpg\" alt=\"\" width=\"400\" height=\"225\"\/><figcaption class=\"wp-element-caption\">Pewnie powy\u017csze by\u0142o wiadome od dawna, a tylko dla mnie to wzi\u0119\u0142o z zaskoczenia i dowiedzia\u0142em si\u0119 o tym dopiero na poziomie draftu powy\u017cszego JEP-a.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Tak\u017ce ju\u017c nied\u0142ugo chc\u0105cych zbudowa\u0107 aplikacj\u0119 przy pomocy JDK na porzuconych systemach, przywita Was poni\u017cszy komunikat.<\/p>\n","innerContent":["\n<p>Tak\u017ce ju\u017c nied\u0142ugo chc\u0105cych zbudowa\u0107 aplikacj\u0119 przy pomocy JDK na porzuconych systemach, przywita Was poni\u017cszy komunikat.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p><code>configure: error: The Windows x86-32 port is deprecated and may be removed in a future release.<\/code><\/p>\n","innerContent":["\n<p><code>configure: error: The Windows x86-32 port is deprecated and may be removed in a future release.<\/code><\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>No c\u00f3\u017c, procesory 32-bitowe odchodz\u0105 ju\u017c w niepami\u0119\u0107 \u2013 ostatni\u0105 wspieran\u0105 wersj\u0105 pozostanie ta na architektur\u0119 arm32.<\/p>\n","innerContent":["\n<p>No c\u00f3\u017c, procesory 32-bitowe odchodz\u0105 ju\u017c w niepami\u0119\u0107 \u2013 ostatni\u0105 wspieran\u0105 wersj\u0105 pozostanie ta na architektur\u0119 arm32.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Mo\u017cna si\u0119 rozej\u015b\u0107 za to je\u015bli chodzi o JEP 446, Scoped Values (Preview).<\/p>\n","innerContent":["\n<p>Mo\u017cna si\u0119 rozej\u015b\u0107 za to je\u015bli chodzi o JEP 446, Scoped Values (Preview).<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":[],"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/El4UalY.png\" alt=\"\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/El4UalY.png\" alt=\"\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Poni\u017cszy fragment (szary) to jedyne zmiany jakie pojawi\u0142y si\u0119 mi\u0119dzy <a href=\"https:\/\/openjdk.org\/jeps\/446\">JEP 446 - Scoped Values (Preview)<\/a>, a <a href=\"https:\/\/openjdk.org\/jeps\/429\">JEP 429: Scoped Values (Incubator)<\/a>, kt\u00f3ry pojawi\u0142 si\u0119 w JDK 20. Jak widzicie, za wiele tego nie ma.<\/p>\n","innerContent":["\n<p>Poni\u017cszy fragment (szary) to jedyne zmiany jakie pojawi\u0142y si\u0119 mi\u0119dzy <a href=\"https:\/\/openjdk.org\/jeps\/446\">JEP 446 - Scoped Values (Preview)<\/a>, a <a href=\"https:\/\/openjdk.org\/jeps\/429\">JEP 429: Scoped Values (Incubator)<\/a>, kt\u00f3ry pojawi\u0142 si\u0119 w JDK 20. Jak widzicie, za wiele tego nie ma.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>A, i tym razem nie zapomnieli o Vector API, jak to mia\u0142o miejsce przy JDK 20. W <a href=\"https:\/\/openjdk.org\/jeps\/448\">JEP 448<\/a> dosta\u0142o swoj\u0105 (ju\u017c sz\u00f3st\u0105) inkubacj\u0119. Ale to w zasadzie jedyna ciekawa informacja w kontek\u015bcie tego API, od dawna ju\u017c czekaj\u0105cego na premier\u0119 Valhalla API. D\u0142ugoterminowym celem Vector API jest bowiem wykorzystanie ulepsze\u0144 Valhalli, zw\u0142aszcza Value Classes, nie posiadaj\u0105cych to\u017csamo\u015bci. Vector API b\u0119dzie wi\u0119c inkubowane przez wiele wyda\u0144, a\u017c niezb\u0119dne funkcje Projektu Valhalla stan\u0105 si\u0119 dost\u0119pne jako Preview. Wtedy Vector API zostanie dostosowane do jego semantyki i r\u00f3wnie\u017c dopiero wtedy trafi do Preview.<\/p>\n","innerContent":["\n<p>A, i tym razem nie zapomnieli o Vector API, jak to mia\u0142o miejsce przy JDK 20. W <a href=\"https:\/\/openjdk.org\/jeps\/448\">JEP 448<\/a> dosta\u0142o swoj\u0105 (ju\u017c sz\u00f3st\u0105) inkubacj\u0119. Ale to w zasadzie jedyna ciekawa informacja w kontek\u015bcie tego API, od dawna ju\u017c czekaj\u0105cego na premier\u0119 Valhalla API. D\u0142ugoterminowym celem Vector API jest bowiem wykorzystanie ulepsze\u0144 Valhalli, zw\u0142aszcza Value Classes, nie posiadaj\u0105cych to\u017csamo\u015bci. Vector API b\u0119dzie wi\u0119c inkubowane przez wiele wyda\u0144, a\u017c niezb\u0119dne funkcje Projektu Valhalla stan\u0105 si\u0119 dost\u0119pne jako Preview. Wtedy Vector API zostanie dostosowane do jego semantyki i r\u00f3wnie\u017c dopiero wtedy trafi do Preview.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"width":962,"height":303},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/rgo70Gl.png\" alt=\"\" width=\"962\" height=\"303\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/rgo70Gl.png\" alt=\"\" width=\"962\" height=\"303\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n","innerContent":["\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/openjdk.org\/jeps\/447\">JEP 447: Statements before super()<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/openjdk.org\/jeps\/447\">JEP 447: Statements before super()<\/a><\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/openjdk.org\/jeps\/449\">JEP 449: Deprecate the Windows 32-bit x86 Port for Removal<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/openjdk.org\/jeps\/449\">JEP 449: Deprecate the Windows 32-bit x86 Port for Removal<\/a><\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/openjdk.org\/jeps\/446\">JEP 446: Scoped Values (Preview)<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/openjdk.org\/jeps\/446\">JEP 446: Scoped Values (Preview)<\/a><\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/openjdk.org\/jeps\/429\">JEP 429: Scoped Values (Incubator)<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/openjdk.org\/jeps\/429\">JEP 429: Scoped Values (Incubator)<\/a><\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/openjdk.org\/jeps\/448\">JEP 448: Vector API (Sixth Incubator)<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/openjdk.org\/jeps\/448\">JEP 448: Vector API (Sixth Incubator)<\/a><\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/openjdk.org\/jeps\/438\">JEP 438: Vector API (Fifth Incubator)<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/openjdk.org\/jeps\/438\">JEP 438: Vector API (Fifth Incubator)<\/a><\/li>\n"]}],"innerHTML":"\n<ul>\n\n\n\n\n\n\n\n\n\n<\/ul>\n","innerContent":["\n<ul>",null,"\n\n",null,"\n\n",null,"\n\n",null,"\n\n",null,"\n\n",null,"<\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2 class=\"wp-block-heading\">2. Pierwsze informacje na temat Jakarta EE 11<\/h2>\n","innerContent":["\n<h2 class=\"wp-block-heading\">2. Pierwsze informacje na temat Jakarta EE 11<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ostatni tydzie\u0144 to r\u00f3wnie\u017c wysyp informacji dotycz\u0105cych szeroko rozumianej Enterprise Java. Zacznijmy wi\u0119c od pierwszego du\u017cego og\u0142oszenia, kt\u00f3rym jest <a href=\"https:\/\/newsroom.eclipse.org\/eclipse-newsletter\/2023\/march\/jakarta-ee-11-first-big-leap-jakarta\">prezentacja pierwszych za\u0142o\u017ce\u0144 wobec Jakarty EE 11<\/a>.<\/p>\n","innerContent":["\n<p>Ostatni tydzie\u0144 to r\u00f3wnie\u017c wysyp informacji dotycz\u0105cych szeroko rozumianej Enterprise Java. Zacznijmy wi\u0119c od pierwszego du\u017cego og\u0142oszenia, kt\u00f3rym jest <a href=\"https:\/\/newsroom.eclipse.org\/eclipse-newsletter\/2023\/march\/jakarta-ee-11-first-big-leap-jakarta\">prezentacja pierwszych za\u0142o\u017ce\u0144 wobec Jakarty EE 11<\/a>.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Komitet steruj\u0105cy Jakarta EE nakre\u015bli\u0142 cztery g\u0142\u00f3wne obszary priorytetowe dla projekt\u00f3w: u\u0142atwienie \"wej\u015bcia\" w projekt nowym cz\u0142onkom spo\u0142eczno\u015bci, ujednolicenie platformy wok\u00f3\u0142 nowoczesnych API takich jak CDI oraz ograniczenie wewn\u0119trznych niesp\u00f3jno\u015bci, kt\u00f3re nawarstwi\u0142y si\u0119 przez lata, wprowadzenie nowych specyfikacji, takich jak Jakarta Config czy Jakarta Data, a \"dogonienie\" nowoczesnej Javy.. Nowe wydanie ma na celu wykorzystanie nowo\u015bci, jakie pojawi\u0105 si\u0119 w najnowszym LTS - Java 21. Wprawdzie tw\u00f3rcy nie deklaruj\u0105 na tym etapie ch\u0119ci porzucenia starszych wyda\u0144, ale w zapowiedzi przewija si\u0119 np. u\u017cycie nowych mo\u017cliwo\u015bci jakie daje Project Loom. Tw\u00f3rcy nie zapominaj\u0105 jednak o kilku ostatnich latach rozwoju platformy i deklaruj\u0105 ch\u0119\u0107 bli\u017cszego przygl\u0105dni\u0119cia si\u0119 r\u00f3wnie\u017c nowo\u015bci\u0105 z kilku ostatnich lat, jak np. Rekordom.<\/p>\n","innerContent":["\n<p>Komitet steruj\u0105cy Jakarta EE nakre\u015bli\u0142 cztery g\u0142\u00f3wne obszary priorytetowe dla projekt\u00f3w: u\u0142atwienie \"wej\u015bcia\" w projekt nowym cz\u0142onkom spo\u0142eczno\u015bci, ujednolicenie platformy wok\u00f3\u0142 nowoczesnych API takich jak CDI oraz ograniczenie wewn\u0119trznych niesp\u00f3jno\u015bci, kt\u00f3re nawarstwi\u0142y si\u0119 przez lata, wprowadzenie nowych specyfikacji, takich jak Jakarta Config czy Jakarta Data, a \"dogonienie\" nowoczesnej Javy.. Nowe wydanie ma na celu wykorzystanie nowo\u015bci, jakie pojawi\u0105 si\u0119 w najnowszym LTS - Java 21. Wprawdzie tw\u00f3rcy nie deklaruj\u0105 na tym etapie ch\u0119ci porzucenia starszych wyda\u0144, ale w zapowiedzi przewija si\u0119 np. u\u017cycie nowych mo\u017cliwo\u015bci jakie daje Project Loom. Tw\u00f3rcy nie zapominaj\u0105 jednak o kilku ostatnich latach rozwoju platformy i deklaruj\u0105 ch\u0119\u0107 bli\u017cszego przygl\u0105dni\u0119cia si\u0119 r\u00f3wnie\u017c nowo\u015bci\u0105 z kilku ostatnich lat, jak np. Rekordom.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Bardzo ciekawie wygl\u0105da aspekt spo\u0142eczno\u015bciowy. Proces anga\u017cowania si\u0119 w rozw\u00f3j platformy musi by\u0107 uproszczony, z wyra\u017aniejszymi drogowskazami i wskaz\u00f3wkami dla nowych wsp\u00f3\u0142pracownik\u00f3w - standaryzacja procedur w r\u00f3\u017cnych projektach i lepsza dokumentacja ma pom\u00f3c to osi\u0105gn\u0105\u0107. Pierwsz\u0105 jask\u00f3\u0142k\u0105 mo\u017ce by\u0107 fakt, \u017ce ju\u017c na tak wczesnym etapie tw\u00f3rcy udost\u0119pnili <a href=\"https:\/\/docs.google.com\/document\/d\/1m-dkvbL0iFFzitO4vt1SVq6GGSJyFdCDM2NU_FzGS10\/edit#heading=h.1oyn459kodrn\">dokument<\/a> (w Google Docsach!), pozwalaj\u0105cy przygl\u0105dn\u0105\u0107 si\u0119 w szczeg\u00f3\u0142ach pomys\u0142om przy\u015bwiecaj\u0105cym nowemu wydaniu. Mo\u017cna przyk\u0142adowo, zobaczy\u0107 od kuchni jak wygl\u0105daj\u0105 takie tematy jak zbli\u017canie do siebie MicroProfile i Jakarty, czy stopniowe odchodzenie od EJB.<\/p>\n","innerContent":["\n<p>Bardzo ciekawie wygl\u0105da aspekt spo\u0142eczno\u015bciowy. Proces anga\u017cowania si\u0119 w rozw\u00f3j platformy musi by\u0107 uproszczony, z wyra\u017aniejszymi drogowskazami i wskaz\u00f3wkami dla nowych wsp\u00f3\u0142pracownik\u00f3w - standaryzacja procedur w r\u00f3\u017cnych projektach i lepsza dokumentacja ma pom\u00f3c to osi\u0105gn\u0105\u0107. Pierwsz\u0105 jask\u00f3\u0142k\u0105 mo\u017ce by\u0107 fakt, \u017ce ju\u017c na tak wczesnym etapie tw\u00f3rcy udost\u0119pnili <a href=\"https:\/\/docs.google.com\/document\/d\/1m-dkvbL0iFFzitO4vt1SVq6GGSJyFdCDM2NU_FzGS10\/edit#heading=h.1oyn459kodrn\">dokument<\/a> (w Google Docsach!), pozwalaj\u0105cy przygl\u0105dn\u0105\u0107 si\u0119 w szczeg\u00f3\u0142ach pomys\u0142om przy\u015bwiecaj\u0105cym nowemu wydaniu. Mo\u017cna przyk\u0142adowo, zobaczy\u0107 od kuchni jak wygl\u0105daj\u0105 takie tematy jak zbli\u017canie do siebie MicroProfile i Jakarty, czy stopniowe odchodzenie od EJB.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Docelowa data wydania Jakarta EE 11 to pierwszy kwarta\u0142 2024 roku, oko\u0142o sze\u015b\u0107 miesi\u0119cy po wydaniu Java 21.<\/p>\n","innerContent":["\n<p>Docelowa data wydania Jakarta EE 11 to pierwszy kwarta\u0142 2024 roku, oko\u0142o sze\u015b\u0107 miesi\u0119cy po wydaniu Java 21.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>To jednak nie koniec nowo\u015bci zwi\u0105zanych z szeroko rozumian\u0105 Enterprise Java, poniewa\u017c wydany zosta\u0142 <a href=\"https:\/\/www.wildfly.org\/news\/2023\/04\/20\/WildFly28-Released\">WildFly 28<\/a>. Projekt ten ostatnio porzuci\u0142 Release Train, przechodz\u0105c na wydania zwi\u0105zane z jakimi\u015b konkretnymi, du\u017cymi nowymi funkcjonalno\u015bciami. Tym razem jest to dopasowanie si\u0119 do ostatnich zmian w MicroProfile.<\/p>\n","innerContent":["\n<p>To jednak nie koniec nowo\u015bci zwi\u0105zanych z szeroko rozumian\u0105 Enterprise Java, poniewa\u017c wydany zosta\u0142 <a href=\"https:\/\/www.wildfly.org\/news\/2023\/04\/20\/WildFly28-Released\">WildFly 28<\/a>. Projekt ten ostatnio porzuci\u0142 Release Train, przechodz\u0105c na wydania zwi\u0105zane z jakimi\u015b konkretnymi, du\u017cymi nowymi funkcjonalno\u015bciami. Tym razem jest to dopasowanie si\u0119 do ostatnich zmian w MicroProfile.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Szczeg\u00f3lnie du\u017ce zmiany zasz\u0142y w kontek\u015bcie tak zwanej \"obserwowalno\u015bci\", ale \u017ceby je zrozumie\u0107, trzeba nakre\u015bli\u0107 nieco szerszego kontekstu. Organizacj\u0105 zajmuj\u0105c\u0105 si\u0119 tworzeniem standard\u00f3w je\u015bli chodzi o Tracing \u2013 czyli \u015bledzenia poszczeg\u00f3lnych zdarze\u0144 w ramach aplikacji \u2013 jest Cloud Native Computing Foundation (w skr\u00f3cie CNCF). Przez lata rozwijane by\u0142o kilka konkurencyjnych projekt\u00f3w, takich jak OpenCensus czy OpenTracing. Ten ostatni trafi\u0142 do MicroProfile jako MicroProfile OpenTracing API, implementacji tego\u017c za\u015b posiada\u0142 WildFly.<\/p>\n","innerContent":["\n<p>Szczeg\u00f3lnie du\u017ce zmiany zasz\u0142y w kontek\u015bcie tak zwanej \"obserwowalno\u015bci\", ale \u017ceby je zrozumie\u0107, trzeba nakre\u015bli\u0107 nieco szerszego kontekstu. Organizacj\u0105 zajmuj\u0105c\u0105 si\u0119 tworzeniem standard\u00f3w je\u015bli chodzi o Tracing \u2013 czyli \u015bledzenia poszczeg\u00f3lnych zdarze\u0144 w ramach aplikacji \u2013 jest Cloud Native Computing Foundation (w skr\u00f3cie CNCF). Przez lata rozwijane by\u0142o kilka konkurencyjnych projekt\u00f3w, takich jak OpenCensus czy OpenTracing. Ten ostatni trafi\u0142 do MicroProfile jako MicroProfile OpenTracing API, implementacji tego\u017c za\u015b posiada\u0142 WildFly.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>CNCF pocz\u0105tkiem roku zdecydowa\u0142 si\u0119 na porzucenie rozwoju OpenTracingu na rzecz OpenTelemetry, b\u0119d\u0105cego nieco szerszym projektem, przez co MicroProfile OpenTracing API oberwa\u0142o rykoszetem i od wersji 6.0 projektu r\u00f3wnie\u017c przesta\u0142o by\u0107 wspierane. Na jego miejsce powsta\u0142o MicroProfile Telemetry Tracing, implementuj\u0105ce standard Tracingu pochodz\u0105cy OpenTelemetry. W zwi\u0105zku z tym, WildFly r\u00f3wnie\u017c dokona\u0142 u siebie takich zmian, tworz\u0105c nowy modu\u0142 <code>microprofile-telemetry<\/code>, kt\u00f3ry zast\u0105pi OpenTelemtry.<\/p>\n","innerContent":["\n<p>CNCF pocz\u0105tkiem roku zdecydowa\u0142 si\u0119 na porzucenie rozwoju OpenTracingu na rzecz OpenTelemetry, b\u0119d\u0105cego nieco szerszym projektem, przez co MicroProfile OpenTracing API oberwa\u0142o rykoszetem i od wersji 6.0 projektu r\u00f3wnie\u017c przesta\u0142o by\u0107 wspierane. Na jego miejsce powsta\u0142o MicroProfile Telemetry Tracing, implementuj\u0105ce standard Tracingu pochodz\u0105cy OpenTelemetry. W zwi\u0105zku z tym, WildFly r\u00f3wnie\u017c dokona\u0142 u siebie takich zmian, tworz\u0105c nowy modu\u0142 <code>microprofile-telemetry<\/code>, kt\u00f3ry zast\u0105pi OpenTelemtry.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>To jednak nie koniec - WildFly postanowi\u0142 porzuci\u0107 wsparcie dla MicroProfile Metrics API, standardu metryk rozwijanego w ramach MicroProfile. Zamiast tego WildFly u\u017cywa\u0107 b\u0119dzie Micrometer, podobnej w swojej naturze do SLF4J fasady umo\u017cliwiaj\u0105cej prac\u0119 z wieloma systemami metryk. Kluczowym dla podj\u0119cia takiej decyzji jest stabilizacja OpenTelemetry Metrics \u2013 czyli komplementarnego dla OpenTelemetry Tracing standardu metryk \u2013 kt\u00f3ry przez Micrometer jest wspierany. S\u0105 to kroki, kt\u00f3re poczyni\u0142 ostatnio r\u00f3wnie\u017c Quarkus - Micrometer staje si\u0119 wi\u0119c powoli standardem je\u015bli chodzi o Javowe Metryki.<\/p>\n","innerContent":["\n<p>To jednak nie koniec - WildFly postanowi\u0142 porzuci\u0107 wsparcie dla MicroProfile Metrics API, standardu metryk rozwijanego w ramach MicroProfile. Zamiast tego WildFly u\u017cywa\u0107 b\u0119dzie Micrometer, podobnej w swojej naturze do SLF4J fasady umo\u017cliwiaj\u0105cej prac\u0119 z wieloma systemami metryk. Kluczowym dla podj\u0119cia takiej decyzji jest stabilizacja OpenTelemetry Metrics \u2013 czyli komplementarnego dla OpenTelemetry Tracing standardu metryk \u2013 kt\u00f3ry przez Micrometer jest wspierany. S\u0105 to kroki, kt\u00f3re poczyni\u0142 ostatnio r\u00f3wnie\u017c Quarkus - Micrometer staje si\u0119 wi\u0119c powoli standardem je\u015bli chodzi o Javowe Metryki.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center","width":500,"height":284},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/11\/image-6.png\" alt=\"\" width=\"500\" height=\"284\"\/><figcaption class=\"wp-element-caption\">Ale jak to jest z tymi standardami to my dobrze wiemy<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter is-resized\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2022\/11\/image-6.png\" alt=\"\" width=\"500\" height=\"284\"\/><figcaption class=\"wp-element-caption\">Ale jak to jest z tymi standardami to my dobrze wiemy<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ko\u0144cz\u0105c temat MicroProfile, WildFly wprowadza wsparcie dla <a href=\"https:\/\/download.eclipse.org\/microprofile\/microprofile-lra-1.0-M1\/microprofile-lra-spec.html\">MicroProfile LRA (Long Running Action)<\/a>, stanowi\u0105cego poboczny projekt, nie wchodz\u0105cy w sk\u0142ad g\u0142\u00f3wnego standardu. Nowy WildFly posiada te\u017c troch\u0119 pomniejszych zmian, ale te ju\u017c polecam wam sprawdzi\u0107 samemu w Release Notes.<\/p>\n","innerContent":["\n<p>Ko\u0144cz\u0105c temat MicroProfile, WildFly wprowadza wsparcie dla <a href=\"https:\/\/download.eclipse.org\/microprofile\/microprofile-lra-1.0-M1\/microprofile-lra-spec.html\">MicroProfile LRA (Long Running Action)<\/a>, stanowi\u0105cego poboczny projekt, nie wchodz\u0105cy w sk\u0142ad g\u0142\u00f3wnego standardu. Nowy WildFly posiada te\u017c troch\u0119 pomniejszych zmian, ale te ju\u017c polecam wam sprawdzi\u0107 samemu w Release Notes.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Ko\u0144cz\u0105c t\u0105 i tak przyd\u0142ug\u0105 serie, warto wspomnie\u0107 o nowym wydaniu Open Liberty, \"chmuronatywnego\" serwera aplikacyjnego rozwijanego przez IBM. Nowe wydanie <a href=\"https:\/\/openliberty.io\/blog\/2023\/04\/04\/23.0.0.3.html\">OpenLiberty 23.0.0<\/a> to du\u017cy skok do przodu - zawiera pe\u0142ne wsparcie dla Jakarta EE 10, funkcjonalno\u015bci przychodz\u0105ce z JDK 20 oraz MicroProfile 6. Zw\u0142aszcza ten ostatni jest tutaj interesuj\u0105cy - w odr\u00f3\u017cnieniu od WildFly, IBM zdecydowa\u0142 si\u0119 r\u00f3wnie\u017c na wsparcie MP Metrics.<\/p>\n","innerContent":["\n<p>Ko\u0144cz\u0105c t\u0105 i tak przyd\u0142ug\u0105 serie, warto wspomnie\u0107 o nowym wydaniu Open Liberty, \"chmuronatywnego\" serwera aplikacyjnego rozwijanego przez IBM. Nowe wydanie <a href=\"https:\/\/openliberty.io\/blog\/2023\/04\/04\/23.0.0.3.html\">OpenLiberty 23.0.0<\/a> to du\u017cy skok do przodu - zawiera pe\u0142ne wsparcie dla Jakarta EE 10, funkcjonalno\u015bci przychodz\u0105ce z JDK 20 oraz MicroProfile 6. Zw\u0142aszcza ten ostatni jest tutaj interesuj\u0105cy - w odr\u00f3\u017cnieniu od WildFly, IBM zdecydowa\u0142 si\u0119 r\u00f3wnie\u017c na wsparcie MP Metrics.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/zvhJQKs.jpg\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Dzi\u0119ki temu mog\u0105 si\u0119 chwali\u0107 pe\u0142n\u0105 kompatybilno\u015bci\u0105 ze standardem MicroProfile 6.0 - wyb\u00f3r Micrometer jako dostawcy metryk sprawi\u0142, \u017ce WildFly nie mo\u017ce sobie na to pozwoli\u0107.<\/figcaption><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/zvhJQKs.jpg\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Dzi\u0119ki temu mog\u0105 si\u0119 chwali\u0107 pe\u0142n\u0105 kompatybilno\u015bci\u0105 ze standardem MicroProfile 6.0 - wyb\u00f3r Micrometer jako dostawcy metryk sprawi\u0142, \u017ce WildFly nie mo\u017ce sobie na to pozwoli\u0107.<\/figcaption><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n","innerContent":["\n<h3 class=\"wp-block-heading\">\u0179r\u00f3d\u0142a<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/list","attrs":[],"innerBlocks":[{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/newsroom.eclipse.org\/eclipse-newsletter\/2023\/march\/jakarta-ee-11-first-big-leap-jakarta\">Jakarta EE 11: The First Big Leap for Jakarta | Eclipse News, Eclipse in the News, Eclipse Announcement<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/newsroom.eclipse.org\/eclipse-newsletter\/2023\/march\/jakarta-ee-11-first-big-leap-jakarta\">Jakarta EE 11: The First Big Leap for Jakarta | Eclipse News, Eclipse in the News, Eclipse Announcement<\/a><\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/docs.google.com\/document\/d\/1m-dkvbL0iFFzitO4vt1SVq6GGSJyFdCDM2NU_FzGS10\/edit#heading=h.1oyn459kodrn\">Jakarta EE 11 Discussion - Dokumenty Google<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/docs.google.com\/document\/d\/1m-dkvbL0iFFzitO4vt1SVq6GGSJyFdCDM2NU_FzGS10\/edit#heading=h.1oyn459kodrn\">Jakarta EE 11 Discussion - Dokumenty Google<\/a><\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/www.wildfly.org\/news\/2023\/04\/20\/WildFly28-Released\">WildFly 28 is released!<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/www.wildfly.org\/news\/2023\/04\/20\/WildFly28-Released\">WildFly 28 is released!<\/a><\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/download.eclipse.org\/microprofile\/microprofile-lra-1.0-M1\/microprofile-lra-spec.html\">Eclipse MicroProfile LRA<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/download.eclipse.org\/microprofile\/microprofile-lra-1.0-M1\/microprofile-lra-spec.html\">Eclipse MicroProfile LRA<\/a><\/li>\n"]},{"blockName":"core\/list-item","attrs":[],"innerBlocks":[],"innerHTML":"\n<li><a href=\"https:\/\/openliberty.io\/blog\/2023\/04\/04\/23.0.0.3.html\">Jakarta EE 10, MicroProfile 6, and Java SE 20 support in Open Liberty 23.0.0.3<\/a><\/li>\n","innerContent":["\n<li><a href=\"https:\/\/openliberty.io\/blog\/2023\/04\/04\/23.0.0.3.html\">Jakarta EE 10, MicroProfile 6, and Java SE 20 support in Open Liberty 23.0.0.3<\/a><\/li>\n"]}],"innerHTML":"\n<ul>\n\n\n\n\n\n\n\n<\/ul>\n","innerContent":["\n<ul>",null,"\n\n",null,"\n\n",null,"\n\n",null,"\n\n",null,"<\/ul>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":[],"innerBlocks":[],"innerHTML":"\n<h2 class=\"wp-block-heading\">3. Release Radar: Micronaut &amp; Ktor<\/h2>\n","innerContent":["\n<h2 class=\"wp-block-heading\">3. Release Radar: Micronaut &amp; Ktor<\/h2>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3 class=\"wp-block-heading\">Micronaut 3.9.0<\/h3>\n","innerContent":["\n<h3 class=\"wp-block-heading\">Micronaut 3.9.0<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Micronaut wyda\u0142 <a href=\"https:\/\/micronaut.io\/2023\/04\/18\/micronaut-framework-3-9-0-released\/\">Micronaut Framework 3.9.0<\/a>, wprowadzaj\u0105c nowe funkcje, takie jak konfigurowalne pakiety introspekcji z adnotacj\u0105 <code>@Introspected<\/code>, konfiguracj\u0119 CORS opart\u0105 na adnotacjach. Wydanie zawiera r\u00f3wnie\u017c mas\u0119 aktualizacji poszczeg\u00f3lnych modu\u0142\u00f3w - \"du\u017cej\" nowej wersji (4.0) doczeka\u0142 si\u0119 Micronaut Kubernetes, a aktualizacji Micronaut Security, Micronaut Maven, Micronaut Launch\/CLI, a tak\u017ce Micronaut CRaC. Z tym ostatnim wi\u0105\u017ce si\u0119 fakt, \u017ce od nowego wydania funkcje AWS Lambda utworzone za pomoc\u0105 Micronaut maj\u0105 domy\u015blnie w\u0142\u0105czony AWS SnapStart.<\/p>\n","innerContent":["\n<p>Micronaut wyda\u0142 <a href=\"https:\/\/micronaut.io\/2023\/04\/18\/micronaut-framework-3-9-0-released\/\">Micronaut Framework 3.9.0<\/a>, wprowadzaj\u0105c nowe funkcje, takie jak konfigurowalne pakiety introspekcji z adnotacj\u0105 <code>@Introspected<\/code>, konfiguracj\u0119 CORS opart\u0105 na adnotacjach. Wydanie zawiera r\u00f3wnie\u017c mas\u0119 aktualizacji poszczeg\u00f3lnych modu\u0142\u00f3w - \"du\u017cej\" nowej wersji (4.0) doczeka\u0142 si\u0119 Micronaut Kubernetes, a aktualizacji Micronaut Security, Micronaut Maven, Micronaut Launch\/CLI, a tak\u017ce Micronaut CRaC. Z tym ostatnim wi\u0105\u017ce si\u0119 fakt, \u017ce od nowego wydania funkcje AWS Lambda utworzone za pomoc\u0105 Micronaut maj\u0105 domy\u015blnie w\u0142\u0105czony AWS SnapStart.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Micronaut Framework rozszerzy\u0142 te\u017c wsparcie rodzaj\u00f3w plik\u00f3w konfiguracyjnych, i wspiera teraz YAML, properties, TOML, Groovy i Hocon. Poza samym wsparciem, dokumentacja projektu zosta\u0142a zaktualizowana, aby pokaza\u0107 fragmenty konfiguracji w r\u00f3\u017cnych obs\u0142ugiwanych formatach.<\/p>\n","innerContent":["\n<p>Micronaut Framework rozszerzy\u0142 te\u017c wsparcie rodzaj\u00f3w plik\u00f3w konfiguracyjnych, i wspiera teraz YAML, properties, TOML, Groovy i Hocon. Poza samym wsparciem, dokumentacja projektu zosta\u0142a zaktualizowana, aby pokaza\u0107 fragmenty konfiguracji w r\u00f3\u017cnych obs\u0142ugiwanych formatach.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Wysypu mniejszych i wi\u0119kszych aktualizacji doczeka\u0142y si\u0119 te\u017c integracje zewn\u0119trzne. Micronaut 3.9.0 przynosi kilka nowych - do Azure Cosmos DB, Google CloudEvents, Google Cloud Functions czy Slacka. Wiele ju\u017c istniej\u0105cych, jak min. Micronaut ElasticSearch czy Micronaut Micrometer, doczeka\u0142o si\u0119 za\u015b aktualizacji.<\/p>\n","innerContent":["\n<p>Wysypu mniejszych i wi\u0119kszych aktualizacji doczeka\u0142y si\u0119 te\u017c integracje zewn\u0119trzne. Micronaut 3.9.0 przynosi kilka nowych - do Azure Cosmos DB, Google CloudEvents, Google Cloud Functions czy Slacka. Wiele ju\u017c istniej\u0105cych, jak min. Micronaut ElasticSearch czy Micronaut Micrometer, doczeka\u0142o si\u0119 za\u015b aktualizacji.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/image","attrs":{"align":"center"},"innerBlocks":[],"innerHTML":"\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/yqI1DFI.jpg\" alt=\"\"\/><\/figure>\n","innerContent":["\n<figure class=\"wp-block-image aligncenter\"><img src=\"https:\/\/vived.io\/wp-content\/uploads\/2023\/04\/yqI1DFI.jpg\" alt=\"\"\/><\/figure>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/heading","attrs":{"level":3},"innerBlocks":[],"innerHTML":"\n<h3 class=\"wp-block-heading\">Ktor 2.3.0<\/h3>\n","innerContent":["\n<h3 class=\"wp-block-heading\">Ktor 2.3.0<\/h3>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>\u017beby tak nie by\u0142o, \u017ce nowe wydanie jest tak zupe\u0142nie pozbawione w\u0105tk\u00f3w Kotlinowych - JetBrains wyda\u0142o <a href=\"https:\/\/blog.jetbrains.com\/ktor\/2023\/04\/18\/ktor-2-3-0-released\/\">Ktor 2.3.0<\/a>, wprowadzaj\u0105cego wiele ma\u0142ych usprawnie\u0144. Mi\u0119dzy innymi, Sockety dosta\u0142y wsparcie lepsze wsparcie Korutyn oraz Structure Concurrency, WebSocket otrzyma\u0142y za\u015b wsparcie typowania. Id\u0105c te\u017c za rozwojem samego Kotlina, nowe wydanie pozywa si\u0119 istniej\u0105cego kompilatora JavaScript, u\u017cywaj\u0105c nowej warstwy po\u015bredniej.<\/p>\n","innerContent":["\n<p>\u017beby tak nie by\u0142o, \u017ce nowe wydanie jest tak zupe\u0142nie pozbawione w\u0105tk\u00f3w Kotlinowych - JetBrains wyda\u0142o <a href=\"https:\/\/blog.jetbrains.com\/ktor\/2023\/04\/18\/ktor-2-3-0-released\/\">Ktor 2.3.0<\/a>, wprowadzaj\u0105cego wiele ma\u0142ych usprawnie\u0144. Mi\u0119dzy innymi, Sockety dosta\u0142y wsparcie lepsze wsparcie Korutyn oraz Structure Concurrency, WebSocket otrzyma\u0142y za\u015b wsparcie typowania. Id\u0105c te\u017c za rozwojem samego Kotlina, nowe wydanie pozywa si\u0119 istniej\u0105cego kompilatora JavaScript, u\u017cywaj\u0105c nowej warstwy po\u015bredniej.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>Dodatkowo, routing dosta\u0142 wsparcie wyra\u017ce\u0144 regularnych, dosz\u0142o do refactoru Static Content API, pojawi\u0142o si\u0119 te\u017c wsparcie dla Jetty 11 i Tomcat 10 Udost\u0119pniono te\u017c mo\u017cliwo\u015b\u0107 scalania kilku plik\u00f3w konfiguracyjnych, co u\u0142atwia modularyzacj\u0119 projekt\u00f3w. Ko\u0144cz\u0105c list\u0119 zmian, sanityzacja wra\u017cliwych nag\u0142\u00f3wk\u00f3w jest teraz dost\u0119pna w pluginie Logging.<\/p>\n","innerContent":["\n<p>Dodatkowo, routing dosta\u0142 wsparcie wyra\u017ce\u0144 regularnych, dosz\u0142o do refactoru Static Content API, pojawi\u0142o si\u0119 te\u017c wsparcie dla Jetty 11 i Tomcat 10 Udost\u0119pniono te\u017c mo\u017cliwo\u015b\u0107 scalania kilku plik\u00f3w konfiguracyjnych, co u\u0142atwia modularyzacj\u0119 projekt\u00f3w. Ko\u0144cz\u0105c list\u0119 zmian, sanityzacja wra\u017cliwych nag\u0142\u00f3wk\u00f3w jest teraz dost\u0119pna w pluginie Logging.<\/p>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/separator","attrs":[],"innerBlocks":[],"innerHTML":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","innerContent":["\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"]},{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"\n\n","innerContent":["\n\n"]},{"blockName":"core\/paragraph","attrs":[],"innerBlocks":[],"innerHTML":"\n<p>PS: Pojawi\u0142 si\u0119 te\u017c Quarkus 3.0. Ale jest to na tyle du\u017ce wydanie, \u017ce chce si\u0119 nim najpierw troch\u0119 pobawi\u0107 i po\u015bwi\u0119ci\u0107 ca\u0142\u0105 osobn\u0105 sekcje. Zmian pod sodem jest tam bowiem ca\u0142a masa.<\/p>\n","innerContent":["\n<p>PS: Pojawi\u0142 si\u0119 te\u017c Quarkus 3.0. Ale jest to na tyle du\u017ce wydanie, \u017ce chce si\u0119 nim najpierw troch\u0119 pobawi\u0107 i po\u015bwi\u0119ci\u0107 ca\u0142\u0105 osobn\u0105 sekcje. Zmian pod sodem jest tam bowiem ca\u0142a masa.<\/p>\n"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/15835","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/comments?post=15835"}],"version-history":[{"count":11,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/15835\/revisions"}],"predecessor-version":[{"id":15848,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/15835\/revisions\/15848"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media\/15846"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=15835"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=15835"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=15835"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}