Java Lobby Announcements

Subscribe to Java Lobby Announcements feed
Recent posts in Java on
Updated: 10 hours 4 min ago

5 Trends to Watch in the Java Ecosystem

Wed, 2017-10-04 22:01

Over the last couple of months, a number of announcements have been made that have changed the Java ecosystem. These changes could have a long-term impact on Java developers and the Eclipse community. This week at JavaOne, I expect we will hear about a lot of these changes. For the most part, I think there are five key trends that all Java developers will need to watch. If you can’t make it to JavaOne, many of these trends will also be highlighted at EclipseCon Europe.

1. Adoption of Java 9

Java 9 is finally out the door. This release has been a long time in development, so now the process of adoption will begin. The first step in adoption is making sure developer tools work with Java 9. Eclipse JDT, for example, supported Java 9 from day 1.

Categories: Java

Java Annotated Monthly: October 2017

Wed, 2017-10-04 18:01

Java 9 is here! At long last. This month we have lots of Java 9 content, of course, but that’s actually not the only Big News: not only is Java EE 8 also now available, but we can look forward to a new release of Java every six months. So we’re celebrating Java 9, but we’re already anticipating Java 10. It might not even be called Java 10…

Java 9

Java 9 is out at last! In this section, we have links to articles about the release, tutorials and reference documentation for some of the main features, and some commentary on the release and its features.

Categories: Java

JavaOne 2017 Day 1 Keynote: Notes and Thoughts

Wed, 2017-10-04 12:01

Unfortunately, I wasn’t lucky enough to attend JavaOne 2017 this year, so I’m catching up this evening and watching the recording of the Day 1 Keynote here.

A few notes, key quotes, and thoughts (screenshots taken from the video):

Categories: Java

Java 9: The Good, the Bad, and Private Interface Methods

Wed, 2017-10-04 09:01

Java 9 was released a few weeks ago. Check the release notes, they include many interesting features. However, I think that not everything is as good as Oracle and Java adepts seem to picture it. I see three trends in the Java world, which are good, bad, and ugly, respectively. Let's start with the good one.

Birdman (2014) by Alejandro G. Iñárritu The Platform

The first trend is an obvious improvement of the platform that compiles Java, packages JARs, and runs the bytecode. It definitely becomes better with every new Java release. Here is a list of improvements Java 9 made, which are very useful, without a doubt:

Categories: Java

Build a Secure Notes App With Kotlin, TypeScript, and Okta

Wed, 2017-10-04 06:01

I love my job as a developer advocate at Okta. I get to learn a lot, write interesting blog posts and create example apps with cool technologies like Kotlin, TypeScript, Spring Boot, and Angular, which I’m about to demo. When it comes to writing Hello World apps with authentication, I can whip one out in a few minutes. That isn’t because I’m a particularly good programmer, it’s because the languages, frameworks, tools, and platforms available to developers are impressive.

In this tutorial, I’ll show you how to write a note-taking application in Kotlin and TypeScript — two of the fastest growing languages of 2017. You’ll use two popular frameworks, Spring Boot and Angular, to make development super fast. Along the way, I’ll show you a few tips and tricks from my favorite development IDE, IntelliJ IDEA. Finally, we’ll leverage Angular CLI and to generate application skeletons.

Categories: Java

Run Your Java App as a Service on Ubuntu

Tue, 2017-10-03 22:01

Say you have a JAR file and you need to run it as a service. Additionally, you want it to start automatically if/when system restarts.

Ubuntu has a built-in mechanism to create custom services, enabling them to get started at system boot time and start/stop them as a service. In this post, I am going to share a simple and elegant way to create a service wrapper for your JAR file so you can run it as a service. Here we go.

Categories: Java

Kotlin Generic Extension Functions

Tue, 2017-10-03 18:01

I have been educating myself in Kotlin recently, and one of the most powerful features that Kotlin provides is extension functions. The simplest example of an extension function that I can come up with is: fun String.addOne() = this + "1" 

And then, println("Boba".addOne()) leads to an output of: Boba1

Categories: Java

A Reactor Core Tutorial

Tue, 2017-10-03 12:01

Reactive programming is about building asynchronous, non-blocking, and event-driven applications that can easily scale.

Reactor is a Reactive library for building non-blocking applications. It is based on the Reactive Streams Specification. Java 8 is required to use this library, and it is integrated into Java 9.

Categories: Java

Sneakily Throwing Exceptions in Lambda Expressions

Tue, 2017-10-03 09:01

Handling checked exceptions in lambda expressions can often be frustrating. Luckily, there is a type inference rule that we can exploit.

Java 8 Type Inference

While reading through the Java Language Specification, we can find interesting information:

Categories: Java

Making the Jump to Go: A Guide for Java Developers

Tue, 2017-10-03 06:01

If you’re a Java developer like me, chances are you’ve heard rumblings of the trendy new language that came out of Google: Go.

And if, like me, you’re always looking for ways to code faster and better, you may be asking yourself whether any of your existing applications are good candidates to move to Go. While not every Java application should be ported to Go, in many cases, Go is a more productive development framework than Java. There is, therefore, a great deal of value in understanding what Go can do; where it builds on the strengths offered by Java, and where it differs.

Categories: Java

Flips: Feature Flipping for Java

Mon, 2017-10-02 22:01

Flips is an implementation of the Feature Toggles pattern for Java. Feature Toggles are a powerful technique that allows teams to modify system behavior without changing  code.

Why Another Library for Feature Toggles?

The idea behind Flips is to let the clients implement toggles with minimum configuration and coding. The main motivations behind implementing this library were -

Categories: Java

JBoss Developer Studio 11: Setting Up BPM and Rules Tooling

Mon, 2017-10-02 18:01

The release of the latest JBoss Developer Studio (JBDS) brings with it the questions around how to get started with the various JBoss Integration and BPM product toolsets that are not installed out of the box.

In this series of articles, we will outline for you how to install each set of tools and explain which products they are supporting.

Categories: Java

How MicroProfile Enhances Java Microservices

Mon, 2017-10-02 12:01

Thanks to Kevin Sutter, MicroProfile and Java EE Architect at IBM, for taking the time to take me through the evolution of Eclipse MicroProfile and the MicroProfile community consisting of IBM, the London Java Community (LJC), Red Hat, Tomitribe, Payara, SOUJava, Hazelcast, Fujitsu, KumuluzEE, SmartBear, and several other industry leaders.

Eclipse MicroProfile is an open source project with a mission of optimizing Enterprise Java for a microservices architecture by innovating across multiple implementations and collaborating on common areas of interest with the goal of eventual standardization.

Categories: Java

A Simple Try-With-Resources Construct in Scala

Mon, 2017-10-02 09:01

You may have noticed that Scala is lacking the try-with-resources construct that Java has. This construct allows us to automatically invoke the close method of an AutoCloseable resource at the end of a code block that uses it. The interface is very broadly used in lots of classes of the standard Java library and many third-party libs as well.

This structure is really handy because it allows us to avoid human errors caused by inattentiveness. Calling the close method after the resource has been used can be easily missed or forgotten if done manually every time, but the consequences of missing it can sometimes be severe.

Categories: Java

JShell: Finally, an Official Shell in Java 9

Mon, 2017-10-02 06:01

The shell or the REPL is a well-known tool in many programming languages. Typically, this is more common in scripting languages such as Python or Node, but more recently it’s been adopted by JVM languages like Clojure and Groovy as well. The upcoming Java 9 release finally brings this shell functionality to the Java language as well, in the form of JShell.

This article will explore what we can do with JShell and how to make the most of it.

Categories: Java

Following OOP Principles: Hermetization in Java

Sun, 2017-10-01 07:01

Have you ever looked at the code that you had written a couple of months ago and asked yourself: “Who could leave such a mess here?” Have you ever been so lazy that you didn’t think of what accessors/mutators you need, simply hitting “Generate getters and setters” for your entity in your IDE? Or maybe you have used Lombok's @Getter/@Setter annotations to get the same effect?

Yep, just as I thought!

Categories: Java