Spring Boot 2.0.0RC1 julkaistu

En ole hetkeen kirjoitellut omaa blogiani, olen pahasti laiminlyönyt sitä ja kirjoitellut firmablogin puolelle englanniksi. En paranna pahoja tapojani vieläkään, mutta linkkaan mehukkaan artikkelini Java 9 moduuleista, jlinkistä, Spring Boot 2.0 versiosta, ja Dockerista, ja miten ihania mikropalveluita niillä saakaan aikaan.

http://dev.solita.fi/2018/01/24/Java9-modules-Spring-Boot-2-Docker.html

Ja tähän tarpeeton kuva koiranpennusta

Ja tähän tarpeeton kuva koiranpennusta

Tänään Spring Boot pääsi 2.0 beta ja snapshot statuksesta eroon, ja julkaistiin release candidate 1. Se tarkoittaa, että rajapinnat on jo melkolailla hyydytetty, ja muutokset tapahtuvat syvemmällä ennen julkaisuversiota. Sen saa Mavenista imaistua mm. näin:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.0.RC1</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies><repositories>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/libs-milestone</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

Mitä ihmeellistä siinä sitten on? No paljonkin. Itseä kiehtoo ensinnäkin se, että se toimii Java 9 version kanssa suoraan yhteen. Mikään Spring 1.x versio ei toimi, eikä tule toimimaan. Sen lisäksi siellä on mm. reaktiivista ohjelmointimallia tuotu perinteisen service mallin rinnalle, ja turvapuolen asioita möyhitty parempaan suuntaan. Laajempaa tarinointia mikä on uutta löytyy mm:

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0.0-RC1-Release-Notes

Java 9 taas on ihanuutta mm. Stream api parannusten, jshellin, ja etenkin modulaarisuuden myötä. Tuossa linkkaamassani dev blogi artikkelissa mm. kuvataan, miten parisataamegaisesta JDK:sta saadaan tiristettyä muutaman kymmenen megaa kooltaan oleva virtuaalikone, joka pyörittää kyllä Spring Boot REST palveluita, mutta omaa paljon vähemmän turhaa kirjastoa ja koodia kuin ennen. Eli vähemmän tietoturvahaavoittuvuuksia, vähemmän levyn ja muistinkäyttöä.

Tuohon kun länttäät päälle Dockerin, aletaan olla jännän äärellä. Jos et tee jo serverlessiä, tuo on pino jolla taas pärjää pitkään.

Alunperin Java versio 8 oli menossa jo kohti elinkaarensa loppua tämän vuoden syyskuussa – mikä olisi tarkoittanut, että esim. tietoturvapäivityksiä ei siihen enää tipu. Mutta mene ja tiedä, joku ehkä tajusi miten iso paukku Java 9 siirtymä voi olla. Joten Java 8 EOL deadlinea lykättiin ja pehmennettiin isosti.

https://blogs.oracle.com/java-platform-group/extension-of-oracle-java-se-8-public-updates-and-java-web-start-support

Eli, Java versiolla 8 voi hyvin räpytellä vielä 2019 tammikuuhun asti, ja miksei pidemmällekin jos tykkää elää vaarallisesti. Tai voi maksaa tuesta Oraclelle tai IBM:lle ja räpytellä vuoteen 2025. Mutta toisaalta Java versioon 9 voi siirtyä vaikka nyt, heti, tänään. Itselläni se on jo ensisijainen JDK koneessa, ja ensisijainen valinta uutta tehdessä.

Eli ehkä tuosta taas vähän mietintöjä potkimaan vuosi 2018 käyntiin. Tietysti katsoessa tulevaisuuteen, Java versio 9 on jo aika legacyä – sehän on jo monella käytössä. Kiinnostaako Java version 15 julkaisuaikataulu ja tuki?

Lähde: https://www.infoq.com/news/2018/01/JavaSupportJan18

Tuosta ehti jo jokunen vääräleuka päättelemään, että turha päivitellä ysiin, kun samantien voi hypätä versioon 11, kun Java 8 tuki päättyy? 😉 Siitä lisää ehkä myöhemmin.

 

 

 

Mainokset

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s