Java Lobby Announcements

Subscribe to Java Lobby Announcements feed
Recent posts in Java on
Updated: 3 hours 55 min ago

What's Wrong With This Code: On Implementation and Behavior

Mon, 2016-07-11 10:46

Implementation, behavior and the amount of the code.... Today is the right time for another code-related question that I’d like to ask.

Take a look at these methods: 

Categories: Java

Oracle's Cryptic Comment about Java EE: Lead-In to JavaOne?

Mon, 2016-07-11 09:01

Oracle have been quiet on the Java EE front since around November 2015 according to public minutes from recent JCP Executive Committee meetings, which has led to the forming of the Java EE Guardians group forming to rally community awareness and promote the future of Java EE.

This story on The Register just popped up in my feed this evening, with an interesting quote from Oracle spokesman Mike Moeller stating:

Categories: Java

Spring Security 4.1.1 Released

Mon, 2016-07-11 07:16

I’m pleased to announce the release of Spring Security 4.1.1.RELEASE which resolves over 50 issues. There are lots of bug fixes, but there are also a few notable enhancements.

Feedback Please

Without the community we couldn’t be the successful project we are today. I’d like to thank everyone that created issues and provided feedback. You can also contribute if you find our work valuable.

Categories: Java

Dynamic Digest: Week of July 4th

Sun, 2016-07-10 07:16

Welcome to the Dynamic Digest, a weekly recap of the latest news happening in our industry. Want the pulse of what’s going on in enterprise software and analytics, performance management, cloud computing, data, and other like topics? We got you covered!

This week in the world of technology, Microsoft introduced a new cloud platform, Google bought image recognition startup, Facebook revealed its latest networking hardware, and Apple iOS 10 Beta is now available.

Categories: Java

How to Use Spring Social With Facebook Part I

Sat, 2016-07-09 07:16

Spring Social is a project created to help us connect to Facebook from the backend, make basic and complex queries, and process on our Facebook page

To start let's set up our pom xml (if we are using Maven) to get the library for Spring Social:

Categories: Java

Spring Tool Suite 3.8.0 Released

Fri, 2016-07-08 14:01
I am happy to announce the 3.8.0 release of the Spring Tool Suite, our Eclipse-based tooling.

Highlights from this release include:

  • Updated to Eclipse Neon 4.6 GA
  • All new Spring Boot code templates
  • Improved Spring Boot YML and property editors (more advanced content-assist, quick-fixes, and more)
  • Many small improvements to improve developer productivity
  • Pivotal tc Server updated to 3.1.4

To download the distributions, please go visit:

Categories: Java

What Java ORM Do You Prefer, and Why? SQL of Course!

Fri, 2016-07-08 12:16

Catchy headline, yes. But check out this Stack Overflow question by user Mike:

(I’m duplicating it here as it might be deleted soon)

Categories: Java

Building a Web UI for MySQL Databases in Plain Java

Fri, 2016-07-08 10:31

This guide walks you through the process of connecting to MySQL databases from Java web applications using JDBC and Spring Framework. The UI part will be built using Vaadin Framework that allows you to build modern single-page web apps with only Java.

When connecting to databases from Java applications you have two main options: Using an ORM, such as JPA, or using low level JDBC. ORM frameworks are a better option if you are developing an application from scratch. The approach shown in this guide suits cases in which you have an existing and probably old database which might not really be compatible with an ORM, such as JPA.

Categories: Java

7 Habits of Super Productive Java Developers

Fri, 2016-07-08 09:31

Last week we surveyed our internal team of incredibly productive Java developers looking for the best advice, tips, and tricks they could offer. For a small team, they have a combined 153 years of professional experience in Java, so they know what they’re talking about! Here’s what they had to say:

1. Know Your Tools (And Have the Right Ones)

Before kicking off any new project, spend some time thoroughly researching the existing frameworks or libraries that could make your implementation easier. Along with that, have the right IDE and customize it for your project.

Categories: Java

Who Killed MySQL? [comic]

Fri, 2016-07-08 07:01
Categories: Java

Oracle Breaking the Silence on Java?

Thu, 2016-07-07 18:32

Mike Moeller, a VP of Marketing Communications with Oracle, was quoted by The Register's Chris Williams on Oracle's future plans for Java. 

From The Register:

Categories: Java

Literate Programming: Presenting Code in Human Order

Thu, 2016-07-07 10:01
Presentation Order

People best understand computer programs in a different order than compilers do. This is a key idea of literate programming, and one that distinguishes literate programs from heavily commented programs.

Traditional source code, no matter how heavily commented, is presented in the order dictated by the compiler. The computer is the primary audience. Literate programming is more humanistic in the sense that the primary audience is a human. The computer has to go to extra effort to arrange the code for its needs. As Donald Knuth describes it in his book on literate programming,

Categories: Java

Understanding G1 GC Log Format

Thu, 2016-07-07 09:01

In Java 9, G1 GC will become the default garbage collector. One of the key features of G1 Garbage collector is its ability to limit the GC pause time (i.e. you can set the desired maximum pause time) without compromising on throughput.

As G1 GC is becoming the default Garbage Collector, its visibility and usage are going to increase dramatically. Thus to tune and troubleshoot G1 GC enabled JVMs, one must have a proper understanding of G1 GC log format. This article walks through key things that one should know about the G1 GC log format. Note: G1 GC log has lot of gory details of all the subtasks that are involved in the GC. To understand and make use of all those gory details, I would recommend using GC log analysis tool -

Categories: Java

Leaving Unhandled Errors Behind

Thu, 2016-07-07 08:01

The number of organizations investing in Scala is exploding, and for good reason. Scala combines Object Oriented and Functional capabilities as well as immutability, which makes it an extremely powerful foundation for applications that need to run at massive scale. This series of blog posts on Scala aims to bridge the gap between theory and practice by focusing on something that is not easily found on the open internet: Actual examples of functional concepts being used in production, at scale. We’ll even give you code samples! Part 1 of the series dives into something that’s near and dear to all of us: how to incorporate error handling as a primary concern with a minimal level of effort.

Disclaimer: This series assumes that you have a basic knowledge of Scala. You’ll still be able to read most of the examples if you don’t know Scala, but you might miss some nuances.

Categories: Java

JBoss EAP 7 Brings Red Hat Commercial Support for Java EE 7

Thu, 2016-07-07 07:01

JBoss EAP 7 has recently been fully Java EE 7 certified. For most developers this essentially represents serious commitment from Red Hat towards commercial support for Java EE 7. As many of us know, WildFly (the upstream community project for JBoss EAP) was one of the earliest Java EE application servers to get certified against Java EE 7. There are already numerous publicly known adoption stories for Java EE 7 on WildFly. However, a lack of Red Hat commercial support for WildFly had been a show-stopper for many - particularly very large enterprises. JBoss EAP removes this hurdle and is bound to be a further boost to Java EE 7 adoption. In my view JBoss has ranked for many years as one of the best Java EE implementations and with significant adoption. That said, one of the most valuable characteristics of Java EE is the rich implementation choices it offers (and hence the freedom from vendor lock-in).

JBoss EAP 7 joins the Java EE 7 compatible ranks of GlassFish 4, WildFly, WebSphere Liberty Profile 8.5, WebLogic 12.2.1, Hitachi Cosminexus and TmaxSoft JEUS. All of the Java EE certified offerings are always listed on the official Java EE compatibility page. For some perspective, few other open standards such as SQL have as many available implementations as Java EE 7 already has (and this is bound to only just keep getting better).

Categories: Java

Avoid These Naming Anti-Patterns...

Thu, 2016-07-07 06:01

Truism: source code is for people, not machines. So... minds with a rather different (and legit-globally state-dependent) cognitive architecture than a von Neumann machine. That includes all your current and future colleagues, your future self, anyone who might conceivably use your library in the future... and if your code is open-source, everyone from now until the heat/cold death of the universe.

So naming things in a human-readable ("self-documenting") way is important. And it's not easy (1, 2, 345, 6...). Getting it right can feel like a semi-unpleasant responsibility, like anything else that takes you out of that creative coding flow; but we've all scratched our heads (or gritted our teeth, or glared viciously) at someone else's opaque, idiosyncratic, or just confusing naming conventions ("Is this the same as that except that this has an underscore and that doesn't?? But the code looks different!... I think?")

Categories: Java

Creating PDF Documents With Apache PDFBox 2

Wed, 2016-07-06 10:01

Apache PDFBox 2 was released earlier this year and since then, Apache PDFBox 2.0.1 and Apache PDFBox 2.0.2 have since been released. Apache PDFBox is open source and Java-based, so it is easy to use with wide variety of programming language including Java, Groovy, Scala, Clojure, Kotlin, and Ceylon. Apache PDFBox can be used by any of these or other JVM-based languages to read, write, and work with PDF documents.

Apache PDFBox 2 introduces numerous bug fixes in addition to completed tasks and some new features. Apache PDFBox 2 now requires Java SE 6 (J2SE 5 was minimum for Apache PDFBox 1.x). There is a migration guide that details many differences between PDFBox 1.8 and PDFBox 2.0, including updated dependencies (Bouncy Castle 1.53 and Apache Commons Logging 1.2) and "breaking changes to the library" in PDFBox 2.

Categories: Java

JSON-B Public Review Draft Now Available

Wed, 2016-07-06 09:01

The JSON-B (Java API for JSON Binding) specification has recently released a public review draft. For those unaware, JSON-B is one of the key APIs slated to be included in Java EE 8. It is a very high level declarative, annotation-based API for processing JSON. Java EE 8 is also scoped to include an important revision of the lower level JSON-P (Java API for JSON Processing) specification.

These two APIs together are extremely important in making JSON a first class citizen of the standard Java platform, just like JAXP (Java API for XML Processing) and JAXB (Java API for XML Binding) did many years ago for XML. With these two APIs in place, Java developers can simply think of JSON as yet another Java serialization format. No more third party libraries and no more configuration - things will simply work out of the box when it comes to processing JSON. In my view these APIs are so critical they should indeed be moved to a modular Java SE release, much like JAXB and JAXP are already a part of Java SE.

Categories: Java

Modularity Changes in Ceylon

Wed, 2016-07-06 08:01

Ceylon has featured a modular architecture from the start. Not just for Ceylon users who write modules, but also within the Ceylon distribution. Historically we used to have very few modules, that were directly related to separate Git projects. Adding a new module meant a new repository and lots of changes in the build. Naturally, as the project grew, each of those modules also grew, and got new third-party dependencies, and occasionally adding a feature in one module was made tremendously easier by just adding that "one more" dependency between distribution modules, resulting in a big spaghetti graph of distribution modules that is common in older/evolved systems.

As we initially expected most Ceylon users to run their code using the ceylon run command, we figured that since they have the Ceylon distribution installed, it does not matter if they depend on more modules from that distribution than strictly necessary. Those modules had to be there anyway, so it would not save any bandwidth to reduce those dependencies.

Categories: Java

Magic-less Dependency Injection with JayWire

Wed, 2016-07-06 08:01

JayWire is a small, easy to use magic-less Dependency Injection library for Java 8. This article is a short tutorial on how to get started using it in projects of any size from small single- to large multi-module ones.

Why Another Dependency Injection Library?

Interestingly enough, the key feature of JayWire is not that it can supply objects as dependencies to other objects, nor that objects may be defined to have a scope (such as singleton scope, request scope, etc.). These are all supported by every other DI framework out there.

Categories: Java