Topic: General Level: All
In this post, we shall catch up on the multi-faceted technological updates that happened over the past week,
Spring framework 6.0 has been released and is available in Maven central. It used JDK 17 as a baseline, and Jakarta EE 9+ with specifications for Servlet 6.0 and JPA 3.1 facilitating access to Tomcat 10.1 and Hibernate ORM 6.1 respectively. Spring application contexts support AOT transformation processing as part of GraalVM Native image used in tandem with Spring Boot 3. Spring 6.0 enables the usage of Project Loom's Virtual threads feature and Project CRaC with checkpoint restoration for faster JVM startup and many other features.
Establishing a good degree of isolation can vary regarding deployment (Microservices) or DDD-bounded context. Spring Modulith introduces a paradigm of DDD with modularized structured bounded context and each module interacts via application events published and integrated with the database for audit and logging.
Using JDK19 brings in flexibility and simplicity with features of Records for immutability, Pattern Matching for switch expressions and/with Records, Switch expressions with Sealed types and compiler type checking, and Pattern deconstruction (arrays, records, constants, and factories)
Shipping and publishing Java applications to the Maven central repository involve, remediating a group id, Sonatype JIRA creation, generating/exporting GPG keys for signing the artifacts, source and Javadoc jars, JReleaser plugins, Sonatype Nexus and corresponding pom.xml changes.
JEP 425 Virtual Threads enables synchronous requests to be processed by not consuming OS platform threads that might get exhausted by overwhelming incoming requests, pooling might help to repurpose threads with ExecutorServices with intended cost to context switching. Virtual threads, on the other hand, are carrier threads that mount to platform threads handling tasks synchronously by submitting to Executors. Demos on creating virtual threads, builder methods, task submissions and performance comparisons are on,
Twitter System Design Architecture
Disclaimer:
This is a personal blog. Any views or opinions represented in this blog are personal and belong solely to the blog owner and do not represent those of people, institutions or organizations that the owner may or may not be associated with in a professional or personal capacity, unless explicitly stated. Any views or opinions are not intended to malign any religion, ethnic group, club, organization, company, or individual. All content provided on this blog is for informational purposes only. The owner of this blog makes no representations as to the accuracy or completeness of any information on this site or found by following any link on this site. The owner will not be liable for any errors or omissions in this information nor for the availability of this information. The owner will not be liable for any losses, injuries, or damages from the display or use of this information.
Downloadable Files and ImagesAny downloadable file, including but not limited to pdfs, docs, jpegs, pngs, is provided at the user’s own risk. The owner will not be liable for any losses, injuries, or damages resulting from a corrupted or damaged file.- Comments are welcome. However, the blog owner reserves the right to edit or delete any comments submitted to this blog without notice due to :
- Comments deemed to be spam or questionable spam.
- Comments including profanity.
- Comments containing language or concepts that could be deemed offensive.
- Comments containing hate speech, credible threats, or direct attacks on an individual or group.
Comments
Post a Comment