Java roundup #68

Welcome to another issues of Java roundup! Here’s last week’s interesting Java content: 5 Reasons Why Business Exceptions Are a Bad Idea - reflectoring; An Introduction to Akka Clustering - DZone Java; Building a Image Endpoint for Geo Markers in Spring Boot - stytex Blog; First look at JDK 13: Switch Expressions (Preview) gets proposed to target - JAXenter; Getting... Read more about Java roundup #68

Java Reading time: ~1 minute

DevOps roundup #23

Here’s another issue of DevOps roundup, bringing you interesting DevOps content from last week: 5 Ways to Get Started with Container Optimization for Automation and Cost Savings; Auditing Continuously vs Monitoring Continuously – Faun – Medium; Backstage Blog - Alerting on SLOs like Pros - SoundCloud Developers; Building a Container Platform at Cruise (Part 1) – Cruise – Medium; CI/CD... Read more about DevOps roundup #23

DevOps Reading time: ~1 minute

Java roundup #67

Welcome to another issues of Java roundup! Here’s last week’s interesting Java content: #HOWTO: Consumer-Driven Contracts with Spring Cloud Contract - Philip’s Homepage; [JavaSpecialists 270] - Excursions into Deduplication; A boost for Java on the Client - Gluon; Asynchronous JAX-RS: Timeout Configuration and Handling : Adam Bien’s Weblog; Box Old Objects to Be Autoclosable - DZone Java; EE Security in... Read more about Java roundup #67

Java Reading time: ~1 minute

DevOps roundup #22

Here’s another issue of DevOps roundup, bringing you interesting DevOps content from last week: Backstage Blog - Alerting on SLOs like Pros - SoundCloud Developers; Build your own event-sourced system using Cloud Spanner - Google Cloud Blog; Building Facebook’s service encryption infrastructure - Facebook Code; Building serverless applications with the AWS CDK - and testing them locally - Sander Knape;... Read more about DevOps roundup #22

DevOps Reading time: ~1 minute

Java roundup #66

Welcome to another issues of Java roundup! Here’s last week’s interesting Java content: Apache Dubbo, the Java-based open source RPC framework becomes a Top-Level Project - JAXenter; Explicit No-Arguments Constructor Vs. Default Constructor - DZone Java; Java Microservices with Spring Boot and Spring Cloud - Okta Developer; Java Microservices with Spring Cloud Config and JHipster - Okta Developer; Pivotal Cloud... Read more about Java roundup #66

Java Reading time: ~1 minute

DevOps roundup #21

Here’s another issue of DevOps roundup, bringing you interesting DevOps content from last week: A serverless glossary; Application management made easier with Kubernete Operators on GCP Marketplace - Google Cloud Blog; Building the cloud-native future at Google Cloud - Google Cloud Blog; Google Cloud networking in depth: Cloud Load Balancing deconstructed - Google Cloud Blog; Introducing Docker Kubernetes Service -... Read more about DevOps roundup #21

DevOps Reading time: ~1 minute

Java roundup #65

Welcome to another issues of Java roundup! Here’s last week’s interesting Java content: 6 Steps for Succeeding with Test Automation in Agile - StickyMinds; Inspired by Actual Events: Java Text Blocks; J2CL: A Java-to-JavaScript Transpiler; Jakarta EE, javax, And A Week Of Turmoil - blog@CodeFX; Java: How to Become More Productive With Hazelcast in Less Than 5 Minutes - DZone... Read more about Java roundup #65

Java Reading time: ~1 minute

DevOps roundup #20

Here’s another issue of DevOps roundup, bringing you interesting DevOps content from last week: Cluster API Lays the Groundwork for Declarative Kubernetes Lifecycle Management with v1alpha1 - Cloud Native Apps Blog; Containers, microservices, and service meshes; Exploiting Common Serverless Security Flaws in AWS ·; Exploring Istio telemetry and observability · Banzai Cloud; GKE security using Falco, Pub/Sub and Cloud Functions.... Read more about DevOps roundup #20

DevOps Reading time: ~1 minute

Java roundup #64

Welcome to another issues of Java roundup! Here’s last week’s interesting Java content: “GraalVM is finally mature and ready for production use”; 5 Minutes or Less: ActiveMQ with JMS Queues and Topics - Tomitribe; A Bootiful Podcast: Interview With Kotlin Team Engineer - DZone Java; Clean up bad BDD scenarios - Gáspár Nagy on software; Data Integrity in NoSQL and... Read more about Java roundup #64

Java Reading time: ~1 minute

DevOps roundup #19

Here’s another issue of DevOps roundup, bringing you interesting DevOps content from last week: 6 Lessons Learned Sending Mass Emails With AWS Lambda; Advancing the developer experience for serverless apps with Azure Functions - Blog - Microsoft Azure; Anatomy of a Cascading Failure - Honeycomb; Deploying a production-grade Helm release on GKE with Terraform - Google Cloud Blog; Developing Serverless... Read more about DevOps roundup #19

DevOps Reading time: ~1 minute

Java roundup #63

Welcome to another issues of Java roundup! Here’s last week’s interesting Java content: [JavaSpecialists 269] - Heterogeneous Comparisons; Building Java 6-8 Libraries for JPMS in Gradle - DZone Java; End-to-End Testing Web Apps: The Painless Way - mtlynch.io; Google Releases New Java Logging Framework; How to Use Recent MicroProfile and JDK Features to Scale Your Apps in the Cloud -... Read more about Java roundup #63

Java Reading time: ~1 minute

DevOps roundup #18

Here’s another issue of DevOps roundup, bringing you interesting DevOps content from last week: All About DevOps Fundamentals You Ever Wanted To Know !; Create and deploy Python source code to Azure Functions; Developing Meaningful Automated Metrics – Capital One Tech – Medium; How to collect, customize, and analyze PHP logs - Datadog; How to create a MongoDB ReplicaSet with Self... Read more about DevOps roundup #18

DevOps Reading time: ~1 minute

Java roundup #62

Welcome to another issues of Java roundup! Here’s last week’s interesting Java content: 7 ways to tidy up your test code - TechBeacon; Add Secure Token Authentication to Your Java App - DZone Java; Don’t Complicate Spring Controllers With Commotions - DZone Java; Inspired by Actual Events: Two JEPs Proposed for JDK 13: Enhancing AppCDS and ZGC; Nimbus: New Framework... Read more about Java roundup #62

Java Reading time: ~1 minute

DevOps roundup #17

Here’s another issue of DevOps roundup, bringing you interesting DevOps content from last week: Announcing k3OS: A Kubernetes Operating System; Benchmarking Istio & Linkerd CPU – Michael Kipper – Medium; Consistent Data Partitioning through Global Indexing for Large Apache Hadoop Tables at Uber - Uber Engineering Blog; Containing our enthusiasm: All the Kubernetes security news from Google Cloud Next ‘19... Read more about DevOps roundup #17

DevOps Reading time: ~1 minute

Java roundup #61

Welcome to another issues of Java roundup! Here’s last week’s interesting Java content: A new era for OpenJDK 8 and OpenJDK 11 begins with the transition over to Red Hat - JAXenter; Asynchronous Returns with CompletableFuture with JAX-RS 2.1 / Java EE 8 : Adam Bien’s Weblog; Flight of the Flux 2 - Debugging Caveats; Guide to Spock Extensions -... Read more about Java roundup #61

Java Reading time: ~1 minute

DevOps roundup #16

Welcome to another issue of DevOps roundup! Like the last issue, this one is dominated by posts summarizing announcements from Google Cloud Next ‘19. Here we go: 3 Awesome Visualization Techniques for every dataset; 50 Best Kubernetes Architecture Tutorials - Security Boulevard; A Roadmap to Convergence – OpenTracing – Medium; Centralizing Container and Kubernetes Management - Container Journal; Context Improvement in... Read more about DevOps roundup #16

DevOps Reading time: ~2 minutes

Java roundup #60

Welcome to another issues of Java roundup! Here’s last week’s interesting Java content: An introduction to Reactor Kafka – Reactive Programming Belgium; Failsafe 2.0 Released with Composable Resilience Policies; Going Reactive with Spring, Coroutines and Kotlin Flow; Hystrix Vs. Sentinel: A Tale of Two Circuit Breakers (Part 1) - DZone Java; Hystrix vs. Sentinel: A Tale of Two Circuit Breakers... Read more about Java roundup #60

Java Reading time: ~1 minute

DevOps roundup #15

Welcome to another issue of DevOps roundup! This week’s issue is dominated by Google Cloud Next ‘19 and the exciting announcements it brought. Here we go: 6 Kubernetes security questions, answered - The Enterprisers Project; Announcing Cloud Code—accelerating cloud-native application development - Google Cloud Blog; Announcing Cloud Run, the newest member of our serverless compute stack - Google Cloud Blog;... Read more about DevOps roundup #15

DevOps Reading time: ~1 minute

Java roundup #59

Welcome to another issues of Java roundup! Here’s last week’s interesting Java content: 5 tips for utilizing CI/CD for microservices - JAXenter; A comparison of assertion libraries; Akka Persistence: Making Actor Stateful - DZone Java; Choice Types in Java With FunctionalJ.io - DZone Java; Connecting your Java microservices to each other? Here’s how to use Spring Cloud Stream with Azure... Read more about Java roundup #59

Java Reading time: ~1 minute

DevOps roundup #14

Here’s another issue of DevOps roundup, bringing you interesting DevOps content from last week: A Practitioner’s Guide to System Dashboard Design Part 1; Amazon CloudWatch Launches Search Expressions; Chef licensing changes prompt debate among IT pros; Cloud Native Buildpacks reach the beta stage - InfoWorld; Different Approaches to Linux Monitoring • Capsule8; Distributed Application Architecture for Edge-Based Service Delivery -... Read more about DevOps roundup #14

DevOps Reading time: ~1 minute

Java roundup #58

Welcome to another issues of Java roundup! Here’s last week’s interesting Java content: A Quick Guide to OAuth 2.0 with Spring Security - Java Code Geeks - 2019; Accelerate Java application development on GCP with Micronaut - Google Cloud Blog; Better Default NullPointerException Messages Coming to Java? - DZone Java; Effective Advice on Spring Async (ExceptionHandler): Part 2 - DZone... Read more about Java roundup #58

Java Reading time: ~1 minute

DevOps roundup #13

Here’s another issue of DevOps roundup, bringing you interesting DevOps content from last week: Advancing Windows Containers with Docker and Kubernetes - Docker Blog; AWS vs K8s is the new ‘Windows vs Linux’ – zwischenzugs; AWS: How to get notified on compromised credentials - Advanced Web Machinery; Boosting your kubectl productivity ♦︎ Learnk8s; Bringing Kubernetes to the bare-metal edge -... Read more about DevOps roundup #13

DevOps Reading time: ~2 minutes

Java roundup #57

Welcome to Java roundup! Here’s last week’s interesting Java content: Configuring a Spring Boot Module with @ConfigurationProperties; Implementing and Documenting REST APIs With Java EE; Integrate Social Login Into Your Spring Boot App; Java 12 General Availability; JDK 12 Security Enhancements; Shenandoah: Ultra low-pause garbage collector in Java 12; Spring Boot @CrossOrigin Annotation Example; The Benefit of Using AssertThat Over... Read more about Java roundup #57

Java Reading time: ~1 minute

DevOps roundup #12

Welcome to DevOps roundup! Here’s last week’s interesting DevOps content: A Guide to Kubernetes Admission Controllers - Kubernetes; A Self-Hosted Global Load Balancer for OpenShift – Red Hat OpenShift Blog; Authorization at LinkedIn’s Scale - LinkedIn Engineering; Automate Custom EC2 AMIs – DevOpsLinks – Medium; Back to Traefik 2.0 – containous; CI/CD for Knative serverless apps on Kubernetes with Concourse;... Read more about DevOps roundup #12

DevOps Reading time: ~2 minutes

Java roundup #56

Welcome to Java roundup! Here’s last week’s interesting Java content: Effective Advice on Spring Async: Part 1; First look at JDK 13: JEP candidates list gets longer; Immutable Data With FunctionalJ.io; Java XML and JSON: Document processing for Java SE, Part 2; Lazy Initialization in Spring Boot 2.2; Memory footprint of the JVM; What does SocketInputStream.socketRead0() API in Java do?;... Read more about Java roundup #56

Java Reading time: ~1 minute

DevOps roundup #11

Welcome to DevOps roundup! Here’s last week’s interesting DevOps content: 6 tips for transitioning to Kubernetes - JAXenter; Application-specific hardware accelerators - Facebook Code; AWS Lambda security paradox – DevOpsLinks – Medium; Blog - Kubermatic Container Engine; CI/CD Pipeline: A Gentle Introduction – Semaphore – Medium; Continuous Delivery Pipeline for Kubernetes using Spinnaker; Creating a Kubernetes Cluster with Digital Ocean... Read more about DevOps roundup #11

DevOps Reading time: ~1 minute

Java roundup #55

Welcome to Java roundup! Here’s last week’s interesting Java content: Access and Non-Access Modifiers in Java; Building Self-Contained, Installable Java Applications with JEP 343: Packaging Tool; How (Not) to Use Reactive Streams in Java 9+; How to Enrich DTOs With Virtual Properties Via Spring Projections; How to Manage Transactions in Redis on Java; How to Use Spring Data JPA with... Read more about Java roundup #55

Java Reading time: ~1 minute

DevOps roundup #10

Welcome to DevOps roundup! Here’s last week’s interesting DevOps content: 10 Docker Image Security Best Practices - Snyk; 10 Tips for Building and Managing Containers; 2019 Database Trends – SQL vs. NoSQL, Top Databases, Single vs. Multiple Database Use - High Scalability -; Best practices for building docker images with GitLab CI · Callr Tech Blog; Better deployment of Kubernetes secret... Read more about DevOps roundup #10

DevOps Reading time: ~1 minute

Java roundup #54

Welcome to Java roundup! Here’s last week’s interesting Java content: Beware of computation in static initializer; Dealing with absence of value; Does Inlined Mean Streamlined? Part 1: Escape Analysis; Duplicate Objects in Java: Not Just Strings; Enum Tricks: Featured Enum Instead of Switch; Spring Boot: A Work of Art. Read more about Java roundup #54

Java Reading time: ~1 minute

DevOps roundup #9

Welcome to DevOps roundup! Here’s last week’s interesting DevOps content: Architecting a Safe, Scalable, and Server-Driven Platform for Driver Preferences with RIBs - Uber Engineering Blog; Automated Testing for Kubernetes and Helm Charts using Terratest; Cut your microservice latency with adaptive double dispatch; Experimenting with Rootless Docker – Tõnis Tiigi – Medium; Grafana v6.0 Released - Grafana Labs Blog; GraphQL in... Read more about DevOps roundup #9

DevOps Reading time: ~1 minute

Java roundup #53

Welcome to another edition of Java roundup! Here’s last week’s interesting Java content: #HOWTO: Simple load-testing with Apache Benchmark; Add Social Login to Your JHipster App; Build a Reactive App with Spring Boot and MongoDB; Creating a SOAP Web Service with Spring; Integration Tests with @SpringBootTest; Jackson Property Custom Naming Strategy; MicroProfile Community Launches MicroProfile Starter, a Web-Based Project Generator;... Read more about Java roundup #53

Java Reading time: ~1 minute

DevOps roundup #8

Welcome to DevOps roundup! Here’s last week’s interesting DevOps content: 7 Key Considerations for Kubernetes in Production - The New Stack; Automated canary deployments with Flagger and Istio; Back to Microservices with Istio (Part 1) – Google Cloud Platform - Community – Medium; Containerd on a more secure MicroK8s – ITNEXT; Extending Vector with eBPF to inspect host and container... Read more about DevOps roundup #8

DevOps Reading time: ~1 minute

Java roundup #52

Welcome to Java roundup! Here’s last week’s interesting Java content: 5 Spring Cloud Annotations Java Programmers Should Know; A Bird’s-Eye View on Java Concurrency Frameworks; A New JDK12 Stream API Collection: Collectors#teeing; Asynchronous RDBMS access with Spring Data R2DBC; Configuring Spring Boot with application.properties file; Introducing java-cfenv: A new library for accessing Cloud Foundry Services; Java & Co.: Clojure and... Read more about Java roundup #52

Java Reading time: ~1 minute

DevOps roundup #7

Welcome to another issue of DevOps roundup! Here’s last week’s interesting DevOps content: 5 Key Considerations for Managed Kubernetes - Container Journal; A Reality Check About Cloud Native DevOps – Semaphore – Medium; Building a Kubernetes Edge (Ingress) Control Plane for Envoy v2 - Kubernetes; Checking Firewall Equivalence with Z3 – Andrew Helwer – Medium; Cluster-level Logging in Kubernetes with... Read more about DevOps roundup #7

DevOps Reading time: ~1 minute

Validating OAS 3 specification in your CI build

As part of my work on standards under GA4GH, I frequently deal with API specifications, most often written in OpenAPI 3 (OAS 3). The setup is always similar – there’s a public GitHub repository containing an OAS 3 YAML file and a few common auxiliary files (.gitignore, LICENSE, CONTRIBUTING.md, and README.md). Reference implementations of the specifications and other tools live... Read more about Validating OAS 3 specification in your CI build

Java roundup #51

Welcome to the next issue of Java roundup! Here’s last week’s interesting Java content: A Tribute to Java; ADDING ADDITIONAL HTTP HEADERS WITH JAX-RS AND BEAN VALIDATION; Batch Processing With Spring Batch and AMQP: Easier Than You Think; Behavioral Design Patterns: Visitor; Creational Design Pattern Series: Factory Method Pattern; Custom ConfigSource with MicroProfile Configuration; Gradle Goodness: Only Show All Tasks... Read more about Java roundup #51

Java Reading time: ~1 minute

DevOps roundup #6

Welcome to the next issue of DevOps roundup! Here’s last week’s interesting DevOps content: 12 ways to get smarter about Kubernetes - The Enterprisers Project; Custom User Authentication in Istio – PlanGrid Technology – Medium; Develop, Build, Release & Deploy – DIPANSHU GOYAL – Medium; Developing Spring Cloud micro services with a central environment and avoiding service collisions; Development in... Read more about DevOps roundup #6

DevOps Reading time: ~1 minute

Java roundup #50

Welcome to Java roundup! Here’s last week’s interesting Java content: As public updates for Java 8 come to an end, Amazon Corretto 8 becomes generally available; AWS Lambda: Cold boot and mean response times in Scala vs. Java; Creational Design Pattern Series: Singleton Pattern; Custom Compact Number Patterns with JDK 12 Compact Number Formatting; Efficiently Uploading Data Using CSV and... Read more about Java roundup #50

Java Reading time: ~1 minute

DevOps roundup #5

Welcome to DevOps roundup! Here’s last week’s interesting DevOps content: AWS S3 security best practices - Part 2; AWS SLA: Are you able to keep your availability promise? - cloudonaut; Best Practices for Instrumenting Applications with OpenTracing; Building Fault-Tolerant MicroServices using Netflix’s Hystrix; Continuous Delivery Pipelines to Google Kubernetes Engine with Gitlab; Current limitations running Azure AKS in production; Deploy... Read more about DevOps roundup #5

DevOps Reading time: ~1 minute

Java roundup #49

Welcome to Java roundup! Here’s last week’s interesting Java content: Best Performance Practices for Hibernate 5 and Spring Boot 2 (Part 3); Clean Architecture with Java 11; Configuring a DataSource Programmatically in Spring Boot; CURRENT TIME IN HH:MM:SS WITH JAVA 8+ AND DATETIMEFORMATTERBUILDER; Guide to Behavior-Driven Development in Java; How to map a PostgreSQL Range column type with JPA and... Read more about Java roundup #49

Java Reading time: ~1 minute

DevOps roundup #4

Welcome to DevOps roundup! Here’s last week’s interesting DevOps content: 9 Logging Best Practices Based on Hands-on Experience; 101 More Security Best Practices for Kubernetes; A Kubernetes Development Workflow for MacOS 💻 – Megan O’Keefe – Medium; Automate Helm chart repository publishing with GitHub Actions and Pages; AWS App Mesh: Amazon’s Own Service Mesh for Microservices - The New Stack;... Read more about DevOps roundup #4

DevOps Reading time: ~1 minute

Obtaining a URL to a file in a GitHub repository in a Travis CI build

I’m a fan of Travis CI and use it for continuous integration across pretty much all my open-source projects on GitHub. From time to time, I need to obtain a URL to a file in the repository in my build, e.g. to point a particular tool to it, in a way that respects branches as well as pull requests from... Read more about Obtaining a URL to a file in a GitHub repository in a Travis CI build

Devops CI GitHub Travis Reading time: ~1 minute

Java roundup #48

Welcome to the first issue of Java roundup in 2019. Here’s some interesting content about Java since our last issue of 2018: A brief overview of the Fork/Join Framework in Java; All You Need To Know About Unit Testing with Spring Boot; All You Need To Know About Unit Testing with Spring Boot; CERTIFICATE TRANSPARENCY VERIFICATION IN JAVA; Hibernate performance... Read more about Java roundup #48

Java Reading time: ~1 minute

DevOps roundup #3

Welcome to DevOps roundup! Here’s last week’s interesting DevOps content: 9 Kubernetes Security Best Practices Everyone Must Follow - Cloud Native Computing Foundation; A guide to automating HashiCorp Vault #1: Auto-unsealing; APIServer dry-run and kubectl diff - Kubernetes; Atlassian admits it did Kubernetes ‘the hard way’ - Cloud - Software - iTnews; Azure Functions in a Docker Container – DevOpsLinks... Read more about DevOps roundup #3

DevOps Reading time: ~2 minutes

DevOps roundup #2

Welcome to DevOps roundup, issue #2! Here’s last week’s interesting DevOps content: 5 open source tools to upgrade your next Kubernetes project - JAXenter; A complete GCP environment with Terraform – Slalom Technology – Medium; Adding tracing with Jaeger to an express application - Rhonabwy; An Agile SRE Meeting Plan - urandom Mangot ideas; Application metrics in Istio – Google... Read more about DevOps roundup #2

DevOps Reading time: ~1 minute

DevOps roundup #1

A year ago, I started the Java roundup series of posts on this blog, to regularly share interesting news, articles, and posts about Java and related technologies. I enjoyed writing the series, and it motivated me to keep up with the latest trends in the Java ecosystem. I’m also very interested in DevOps, the culture as well as the technologies... Read more about DevOps roundup #1

DevOps Reading time: ~1 minute

Java roundup #47

Welcome to the last issue of Java roundup in 2018, bringing you interesting Java content from the last 2 weeks: Dropping Raw String Literals from JDK 12; FETCHING THE NAME OF THE CURRENT WORKING DIRECTORY WITH JAVA 7+; FP vs. OO List Processing; How Fast is Spring?; How to Use the Spring Config Server; Netflix OSS and Spring Boot — Coming Full... Read more about Java roundup #47

Java Reading time: ~1 minute

Java roundup #46

Welcome to yet another issue of Java roundup, interesting Java content from last week: #HOWTO: Dynamic SQL Querying & Pagination with Querydsl and Spring Data JPA; Automating Cache Invalidation With Change Data Capture; Behavioral Design Patterns: Observer; Beware the Attach API; GIVE ME A BREAK, OR: HOW TO MAKE AWESOME PUZZLERS WITH JAVA 12; How to fix the Hibernate “No... Read more about Java roundup #46

Java Reading time: ~1 minute

Java roundup #45

Welcome to another issue of Java roundup, interesting Java content from last week: 4 New JEPs Proposed for Java 12; 26 Reasons Why Using Optional Correctly Is Not Optional; A Few Additions to Your Bag of Maven-Fu; Anonymous Tuples; AWS re:Invent 2018: Java developers can now take advantage of Amazon Kinesis Data Analytics; Customize HTTP Error Responses in Spring Boot;... Read more about Java roundup #45

Java Reading time: ~1 minute

Java roundup #44

Welcome to another issue of Java roundup, interesting Java content from last week: CREATING DTOS WITHOUT MAPPING WITH JPA AND JAVA EE; Definitive Guide To Switch Expressions In Java 12; Difference Between JDK Vs. JRE Vs. JVM; Getting Started with GraphQL and Spring Boot; Java optional parameters; JDK 12’s Files.mismatch Method; Lambdas are not functional programming; Spring Boot Admin Tutorial;... Read more about Java roundup #44

Java Reading time: ~1 minute

Java roundup #43

Welcome to another issue of Java roundup, interesting Java content from last week: Eleven Hidden Gems In Java 11; Game of Life Lessons: Static Smells; How to deploy your Cloud Foundry app with (almost) zero fear using Travis CI; Introducing Amazon Corretto, a No-Cost Distribution of OpenJDK with Long-Term Support; Shortest Code and Lowest Latency; Top 5 Spring Boot Features... Read more about Java roundup #43

Java Reading time: ~1 minute

Java roundup #42

Here’s another issue of Java roundup, interesting Java content from last week: Design Patterns: Event Bus; Detecting Memory Leaks From a JVM Heap Dump; Garbage Collectors Affect Microbenchmarks; JHipster, Angular, PrimeNG and AutoComplete; Lessons Learned from the JVM Ecosystem Report 2018; Multiple Databases With Shared Entity Classes in Spring Boot and Java; Need 24x7 ETL? Then Move to Cloud Native... Read more about Java roundup #42

Java Reading time: ~1 minute

Java roundup #41

Java roundup, issue #41: Comprehensive Step-By-Step Guide on How to Upload Open-Source Java Library to Maven Central; Faster Development with Spring Boot DevTools; Fighting Java Memory Leak in Production Systems; IBM to Acquire Red Hat: A Java-Oriented First Look; Java Patterns for Concurrency; Should you adopt Java 12 or stick on Java 11?; The Top 100 Java Libraries in 2018... Read more about Java roundup #41

Java Reading time: ~1 minute

Java roundup #40

Here’s another issue of Java roundup, interesting Java content from last week: 10 Effective Tips on Using Maven; Functional Bean Registrations in Spring Cloud Function; How to Use the Specification Pattern in Java; HTTP cache with Spring examples; Reactive HTTP/2 Requests And Responses In Java 11; The Builder Design Pattern in Java; When (Not) to Use Java Abstract Classes. Read more about Java roundup #40

Java Reading time: ~1 minute

Java roundup #39

Here’s another issue of Java roundup, interesting Java content from last week: All You Need To Know About Bean Validation With Spring Boot; An Introduction to Kotlin for Serverside Java Developers; Behavioral Design Patterns: Command; Higher-Order Functions I: Function Composition and the Monad Pattern; Insights about tuning an Apache Camel application deployed into Spring Boot; JVM Ecosystem Report 2018; Maven... Read more about Java roundup #39

Java Reading time: ~1 minute

Java roundup #38

Here’s another issue of Java roundup, interesting Java content from last week: 3 Steps to Fix NoSuchMethodErrors and NoSuchMethodExceptions; @ParameterizedTest with null values in @CvsSource; Advanced Functional Testing in Spring Boot Using Docker in Tests; CONTENT NEGOTIATION WITH SPRING DATA JPA PROJECTIONS; Definitive Guide to the JaCoCo Gradle Plugin; Encrypting JPA entity attributes using listeners in Spring; Oracle Introduces Helidon... Read more about Java roundup #38

Java Reading time: ~1 minute

Java roundup #37

Here’s another issue of Java roundup, interesting Java content from last week: 90 New Features and APIs in JDK 11 (Part 2); An opinionated way to build Gradle projects; How to bind @RequestParam to object in Spring; Is “Java Concurrency in Practice” still valid in the era of Java 8 and 11?; Kotlin 1.3 Introduces Stable Coroutines, Contracts, and More;... Read more about Java roundup #37

Java Reading time: ~1 minute

Java roundup #36

Welcome to another issue of Java roundup. Here’s some interesting content about Java from last week: 10 Maven Security Best Practices; A Tale of Two Oracle JDKs; Java 10 Immutable/Unmodifiable Stream API Collectors; Java 11 Released; Modeling Uncertainty with Reactive DDD; Oracle’s Java 11 trap - Use OpenJDK instead!; Spring Cloud Function 2.0 and Azure Functions; Spring Data JDBC, References,... Read more about Java roundup #36

Java Reading time: ~1 minute

Java roundup #35

Welcome to another issue of Java roundup. Here’s some interesting content about Java from last week: Concurrent Queue Sizes and Hot Fields; Introducing Spring Data JDBC; Java Is Still Free; Java release chains - Splitting features from security; Java Subtlety with Arrays of Primitives and Variable Arguments; Kotlin goodies that make a developer’s life easier; MicroProfile JSON Web Token (JWT);... Read more about Java roundup #35

Java Reading time: ~1 minute

Java roundup #34

Welcome to another issue of Java roundup. Here’s some interesting content about Java from last week: Build Once, Run Anywhere: Externalize Your Configuration; How Java Maps Protect Themselves From DOS Attacks; JDK 12: Switch Statements/Expressions in Action; JEP 342: The JVM and Spectre; Query Databases Using Java Streams; Stackwalking in Java with StackWalker and Stream API; Testing a Spring Message... Read more about Java roundup #34

Java Reading time: ~1 minute

Java roundup #33

Welcome to another issue of Java roundup. Here’s some interesting content about Java from last week: From Java 8 to Java 11; How to map the PostgreSQL inet type with JPA and Hibernate; Implementing a Sliding Window Stream/Spliterator in Java; The GraalVM frenzy; Time to look beyond Oracle’s JDK. Read more about Java roundup #33

Java Reading time: ~1 minute

Java roundup #32

Here’s another issue of Java roundup, interesting Java content from last week: Build a Secure API with Spring Boot and GraphQL; Eclipse Releases Versions 1.4 and 2.0 of MicroProfile; Java’s new Z Garbage Collector (ZGC) is very exciting; Mastering Spring framework 5, Part 2: Spring WebFlux; Migrate Maven Projects to Java 11; Restful API using Spring Rest & Spring Data... Read more about Java roundup #32

Java Reading time: ~1 minute

Java roundup #31

Here’s another issue of Java roundup, interesting Java content from the last 2 weeks: Build a MySQL Spring Boot App Running on WildFly on an Azure VM; Carefully Specify Multiple Resources in Single try-with-resources Statement; CompletableFuture Timeouts in Java; Deep Dive into JUnit 5 Extension Model; How to Configure a Human-Readable Logging Format with Logback and Descriptive Logger; Reusable MicroProfile... Read more about Java roundup #31

Java Reading time: ~1 minute

Java roundup #30

Here’s another issue of Java roundup, interesting Java content from last week: APIs To Be Removed from Java 11; How to query by entity type using JPA Criteria API; Java Code Bytes: Be Resourceful With Try-With-Resources; JDK 12, Merging Collectors, and the Challenge of Naming; Simplifying packaging Spring Boot 2 applications into Docker images using Google’s Jib; Spring Cloud Services... Read more about Java roundup #30

Java Reading time: ~1 minute

Java roundup #29

Welcome to another issue of Java roundup. Here’s some interesting content about Java from the last 2 weeks: Happy Birthday Istio: A Closer Look at How Pivotal is Embedding The Service Mesh to Cloud Foundry, Kubernetes, and Knative; Improving Testability of Java Microservices with Container Orchestration and a Service Mesh; It’s time! Migrating to Java 11; JDK 11: New Default... Read more about Java roundup #29

Java Reading time: ~1 minute

Java roundup #28

Welcome to another issue of Java roundup. Here’s some interesting content about Java from last week: Caching in Spring Boot with Spring Security; Getting to Know Graal, the New Java JIT Compiler; Optional.isEmpty() Available in JDK 11 EA Builds; Spring Boot, migrating to functional; Use React and Spring Boot to Build a Simple CRUD App. Read more about Java roundup #28

Java Reading time: ~1 minute

Java roundup #27

Welcome to another issue of Java roundup. Here’s some interesting content about Java from last week: How to Make Legacy Code Reactive; Implementing a custom Maven Archetype to generate Spring Boot-based services; Java NIO Tutorial; JDK9’s ForkJoinPool Upgrades; The best way to use SQL functions in JPQL or Criteria API queries with JPA and Hibernate. Read more about Java roundup #27

Java Reading time: ~1 minute

Java roundup #26

Welcome to another issue of Java roundup. Here’s some interesting content about Java from last week: Apache Camel 2.22 Released with Spring Boot 2 support; Applying New JDK 11 String Methods; Authorizing Resources Based On Who Created Them; Functional Reactive Programming - Streams on steroids; Iteration Over Java Collections with High Performance; Reactive Spring Security Authentication; Stack Overflow: Top Java... Read more about Java roundup #26

Java Reading time: ~1 minute

Java roundup #25

Welcome to another issue of Java roundup: Deferred Execution with Java’s Consumer; Detecting build version and time at runtime in Spring Boot; Java’s Magic Sauce; Looking into Java’s Future: Empty Value Types; New Java 11 Feature: Launch Single-File Source-Code Programs; Secure coding practices in Java: challenges and vulnerabilities; Spring WebFlux and rxjava2-jdbc; Unlocking Traits With ‘var’ In Java 10. Read more about Java roundup #25

Java Reading time: ~1 minute

Java roundup #24

Welcome to another issue of Java roundup: How to Read a Thread Dump; Introduction to Blockchain with Java using Ethereum, web3j and Spring Boot; Java’s Ternary is Tricky with Autoboxing/Unboxing; MAVEN: USE JUNIT 5 WITH SPRING BOOT FOR UNIT AND INTEGRATION TESTS; Optional Dependency Injection using Spring; Oracle Announces New Support Pricing Structure for Java; Spring Tips: Season 4 Recap;... Read more about Java roundup #24

Java Reading time: ~1 minute

Java roundup #23

Welcome to another issue of Java roundup, where we bring you interesting Java content from last week: Exact Conversion of Long to Int in Java; Generating Feign clients with Swagger Codegen and Gradle; JDK 8 BigInteger Exact Narrowing Conversion Methods; Refactoring to Eclipse Collections: Making Your Java Streams Leaner, Meaner, and Cleaner; User impersonation with Spring Security; Zuul 2 –... Read more about Java roundup #23

Java Reading time: ~1 minute

Java roundup #22

Welcome to another issue of Java roundup, where we bring you interesting Java content from last week: Chaos Toolkit LOVES Chaos Monkey for Spring Boot; Pickled State; Spring Security with Spring Boot 2.0: Password Encoder; Zip Slip Directory Traversal Vulnerability Impacts Multiple Java Projects. Read more about Java roundup #22

Java Reading time: ~1 minute

Java roundup #21

Welcome to another issue of Java roundup: A first look at Redis Streams and how to use them with Java; Design Patterns Explained: Adapter Pattern With Code Examples; Java EE MVC: Handling form validation; Structuring and Testing Modules and Layers with Spring Boot; The rise of Java Microframeworks. Read more about Java roundup #21

Java Reading time: ~1 minute

Java roundup #20

Here’s another issue of Java roundup, interesting Java content from last week: Apache Derby Database Users and Permissions; JVM Anatomy Park #16: Megamorphic Virtual Calls; TestContainers and Spring Boot; Using Java Stream summary statistics. Read more about Java roundup #20

Java Reading time: ~1 minute

Java roundup #19

Here’s another issue of Java roundup, interesting Java content from last week: Exploring Java 9 Module System and Reactive Streams; Java and Docker, the limitations; Java Batch Tutorial; Java Stream ORM Now with JOINs; jOOQ Tips: Implementing a Read-Only One-to-Many Relationship; Latest Roundup of EE4J Activities for Jakarta EE; Spring Cloud Discovery with Spring Boot Admin; Spring REST Docs -... Read more about Java roundup #19

Java Reading time: ~1 minute

Building a global search engine for genetic data at DevTO

DevTO is a popular meetup for software developers in Toronto. Attended by over 100 developers on the last Monday of each month, the group features two 20-minute presentations on various topics from the industry, accompanied by food, drinks and networking. On April 30, Wealthsimple hosted the event celebrating the 7th anniversary of DevTO. I was invited to give a talk... Read more about Building a global search engine for genetic data at DevTO

Beacon Network Beacon DevTO Talk Reading time: ~1 minute

Java roundup #18

Here’s another issue of Java roundup: Behavior-Driven Development with BDDMockito and AssertJ; Behind the Scenes of the Finalize() Method; Enhance your Java Spring application with R data science; G1 GC: Reducing Memory Consumption by 20%; Java’s @Serial Annotation; Performance testing at Gradle; Vectorised Algorithms in Java. Read more about Java roundup #18

Java Reading time: ~1 minute

Java roundup #17

Welcome to another issue of Java roundup. Here’s some interesting Java content from last week: A Lovely Spring View: Spring Boot & Vue.js; Get Ready for Cloud Native, Service-Meshed Java Enterprise; How to avoid the Hibernate Query Cache N+1 issue; How to break a Monolith into Microservices; How to synchronize bidirectional entity associations with JPA and Hibernate; New Methods on... Read more about Java roundup #17

Java Reading time: ~1 minute

Java 9 at Java With The Best 2018

Java With The Best is a new Java conference in a series of developer conferences powered by BeMyApp. There are 2 main properties that differentiate this event from other conferences you may have attended – everything takes place online, without a physical venue, and attendees can book virtual 1-1 sessions with the speakers. The event featured 58 talks in 3... Read more about Java 9 at Java With The Best 2018

Java Java 9 Java With The Best Talk Reading time: ~3 minutes

Java roundup #16

Welcome to another issue of Java roundup. Here’s some interesting Java content from last week: 9 High-Performance Tips when using PostgreSQL with JPA and Hibernate; Build Docker and OCI images for Java applications using google Jib; Converting Java Map to List; Enhancing Java switch Statement with Introduction of switch Expression; Further unification on switch; Get to Know JSON Merge Patch:... Read more about Java roundup #16

Java Reading time: ~1 minute

Java roundup #15

Welcome to another issue of Java roundup. Here’s some interesting Java content from last week: Accessing Data – The Reactive Way; Consumer-Driven Contracts by Example; Event Storming and Spring with a Splash of DDD; FP vs. OO; Get to Know JSON Patch: JSON-P 1.1 Overview Series; Get to Know JSON Pointer: JSON-P 1.1 Overview Series; Getting Reactive with Spring Boot... Read more about Java roundup #15

Java Reading time: ~1 minute

Java roundup #14

Welcome to another issue of Java roundup. Here’s some interesting Java content from last week: Configurations. Are you doing it wrong?; CountDownLatch vs Phaser; Garbage Collector Code Artifacts: Card Marking; How to Compile a Class at Runtime with Java 8 and 9; How to map an immutable entity with JPA and Hibernate; Why I Moved Back from Gradle to Maven.... Read more about Java roundup #14

Java Reading time: ~1 minute

Java roundup #13

Interesting Java content from last week (Java roundup): Arquillian Chameleon. Simplifying your Arquillian tests; Convenient mocking in Mockito with JUnit 5 – the official way; Correct Reflective Access to Interface Default Methods in Java 8, 9, 10; How to customize the Jackson ObjectMapper used by Hibernate-Types; How to customize the JSON Serializer used by Hibernate-Types; Java 10: Parallel Full GC... Read more about Java roundup #13

Java Reading time: ~1 minute

Java roundup #12

Last week’s Java content as part of our Java roundup: Feature toggle in Spring Boot 2; Forward-Looking with Java’s @Deprecated; It’s never been a better time to be a Spring Developer; Java 10 Released; JPMS modules for library developers - negative benefits; Servlet and Reactive Stacks in Spring Framework 5; Spec API Modularity Patterns; Style Guidelines for Local Variable Type... Read more about Java roundup #12

Java Reading time: ~1 minute

Java roundup #11

Interesting Java content from last week as part of our Java roundup: 10 new features in java 10!; Concurrent Java: Low scalability, the risk of deadlocks or garbage creation, you can not avoid all; Doing stuff with Spring WebFlux; Improve Launch Times On Java 10 With Application Class-Data Sharing; Java Nestmates Makes Progress; JUnit 5 Tutorial: Writing Assertions With JUnit... Read more about Java roundup #11

Java Reading time: ~1 minute

Java roundup #10

Welcome to another issue of Java roundup. Here’s some interesting Java content from last week: Dependency Injection Boundaries; Dynamic casting in Java; Event sourcing using Kafka; Introduction to Java heap tuning – Some easy steps to improve response times; Java EE Becomes Jakarta EE; Spring @Lazy annotation use cases; SpringBoot 2 performance — servlet stack vs WebFlux reactive stack; Testing auto-configurations with... Read more about Java roundup #10

Java Reading time: ~1 minute

Java roundup #9

Welcome to another issue of Java roundup. Here’s some interesting Java content from last week: 20 Examples of Using Java’s CompletableFuture; 109 New Features In JDK 10; Builder Pattern GoF vs Effective Java; How To Use Multi-release JARs To Target Multiple Java Versions; Java 10: Inferred Local Variables; Programming by contract on the JVM; Spring Cloud Stream 2.0 - Polled... Read more about Java roundup #9

Java Reading time: ~1 minute

Beacon Network at Index San Francisco 2018

In the previous post, we talked about one of the talks I gave at the Index Developer Conference last week. In this post, we share the materials from the other one, titled How we built a global search engine for genetic data. The session was scheduled in the Real-life production deployments track. Unlike the talks I usually give, this was... Read more about Beacon Network at Index San Francisco 2018

Beacon Network Beacon Index Talk Reading time: ~1 minute

Exploring Java 9 at Index San Francisco 2018

Index Developer Conference is a new conference organized by IBM to promote software development as a craft. The event took place at the Moscone Center, San Francisco, a popular software conference venue, on February 20-22, 2018. This was my first conference of the year and I was very excited about being invited to give 2 talks in 2 different tracks... Read more about Exploring Java 9 at Index San Francisco 2018

Java Java 9 Index Talk Reading time: ~1 minute

Java roundup #8

Welcome to another issue of Java roundup. Here’s some interesting content about Java from last week: Brian Goetz Speaks to InfoQ on Data Classes for Java; JDK 10: FutureTask Gets a toString(); Mapping Java 8 Date/Time entity attributes with Hibernate; Spring Boot 2.0 Nears GA; Spring Cloud Series - Microservices Sidecar pattern implementation using Postgres, Spring Cloud Netflix and Docker.... Read more about Java roundup #8

Java Reading time: ~1 minute

Java roundup #7

Java roundup #7: 3 Things Every Java Developer Should Stop Doing; APIs To Be Removed from Java 10; Designing, Implementing, and Using Reactive APIs; Eclipse MicroProfile 1.3 Is Now Available; Improve your test structure with Lambdas and Mockito’s Answer; JAVA EE 8 AND JSON-P SIMPLIFY SYSTEM TESTING WITH JSON PATCH; Java: Spring Dependency Injection Patterns - The good, the bad,... Read more about Java roundup #7

Java Reading time: ~1 minute

Java roundup #6

Interesting content about Java from last week (Java roundup): Announcing Spring Cloud GCP—integrating your favorite Java framework with Google Cloud; Boost the performance of your Spring Data JPA application; Building a CI System with Java 9 Modules and Vert.x Microservices; Code-First Java 9 Tutorial; Docker with Gradle: Dockerizing a Spring Boot application; Fun with String.intern(); Java enterprise security for cloud... Read more about Java roundup #6

Java Reading time: ~1 minute

Java roundup #4

Java news and articles from last week: CLR vs JVM: How the Battle Between C# and Java Extends to the VM-Level; Faster Sorting of Arrays of Primitives Coming to Java?; JMETER VS GATLING TOOL; JPA 2.2 Brings Some Highly Anticipated Changes; Spring Boot 2: Migrating from Dropwizard metrics to Micrometer. See other Java roundup posts. Read more about Java roundup #4

Java Reading time: ~1 minute

Java roundup #3

Hello everyone! Here’s some interesting Java content from last week as part of Java roundup: 5 Tips for Performant, Thread-Safe Java From ConcurrentHashMap; 25 new Android libraries and projects to check at the beginning of 2018; Building richer hypermedia with Spring HATEOAS; Getting a Grip on GraphQL; Immutable Versus Unmodifiable in JDK 10; IntegrationTest; Monitoring and measuring reactive application with... Read more about Java roundup #3

Java Reading time: ~1 minute

Java roundup #2

Welcome to issue 2 of Java roundup. Here’s some interesting content about Java from the second week of 2018: Comparing Java REST Documentation Frameworks; Create a Secure Spring REST API; Facebook Open-Sources RacerD - Java Race Condition Detector; Filtering RESTfull JSON view with Spring; Handy Improvements in JPA 2.2; Java Reflection, but much faster; Spring Boot Hibernate Tips; Spring Boot... Read more about Java roundup #2

Java Reading time: ~1 minute

Java roundup #1

If you know me, you probably know Java is one of technologies I’m particularly interested in. It’s my primary programming language, an ecosystem I’ve been working with for over a decade, and a common topic of my speaking engagements. I generally keep track of what’s happening in this area, and every now and then, I encounter posts and news that... Read more about Java roundup #1

Java Reading time: ~1 minute

My talk for the Singapore Java User Group

Huge thanks to the Singapore Java User Group for having me as a speaker at their first event of 2018, Pivotal for hosting the event and providing pizza and drinks, as well as all the attendees for finding the time, all the positive feedback and good questions! Despite taking place early in the new year, the event was very well-attended,... Read more about My talk for the Singapore Java User Group

Java Java 9 SINGAJUG Talk Reading time: ~1 minute

Java 9: Convenience factory methods for collections

In the previous post in the Java 9 series, we’ve introduced a new tool in the JDK toolbox – JShell. In this post, we’ll use JShell to showcase another useful feature in Java 9 – convenience factory methods for collections. Thanks to JEP 269, Java 9 makes it really easy to create small, immutable collections, which was relatively tedious to... Read more about Java 9: Convenience factory methods for collections

Java 9 Java Reading time: ~3 minutes

My talk at TJUG

Last week, I had the opportunity to speak at the Toronto Java Users Group (TJUG). We had a full house, and overall great feedback – thank you, TJUG, for having me! TJUG is a meetup for Java practitioners covering the latest and greatest things in the Java ecosystem. It’s a monthly event taking place on the last Thursday of every... Read more about My talk at TJUG

JShell Java Java 9 TJUG Talk Reading time: ~1 minute

My talk at FSTOCO 2017

FSTOCO is a Toronto-based full-stack software conference focused on web development. It’s a 3-day annual event featuring more than 40 talks and speakers in 3 parallel tracks – client side, server side, and UX – with a few exceptions covering things like team skills and Blockchain. This year was my first time attending, and I was fortunate enough to come... Read more about My talk at FSTOCO 2017

JShell Java Java 9 FSTOCO Conference Talk Reading time: ~1 minute

Java 9: JShell

JDK 9 is finally here. Let’s talk about it. This is the first post in the Java 9 series, which covers various new features in the latest release of the JDK. We’ll start with an exciting new tool – JShell. JShell, described in detail in JEP 222, is Java’s implementation of REPL, Read-Eval-Print-Loop. It’s a tool that loops, continually reads... Read more about Java 9: JShell

JShell Java 9 Java Reading time: ~3 minutes

Editing modes and shortcuts in JBoss CLI

JBoss CLI is built on top of Æsh (Another Extendable SHell). As such, the CLI inherits many features of Æsh, including its line editing mechanisms. Æsh implements the majority of Readline functions for use by applications allowing users to edit commands as they’re entered, and provides additional features on top of these functions, such as advanced command creation and line... Read more about Editing modes and shortcuts in JBoss CLI

WildFly JBoss CLI JBoss Java EE Java Reading time: ~3 minutes

Aliases in JBoss CLI

JBoss CLI uses many concepts known from standard Unix shells, such as Bash. These include the way variables are handled and how they can be used to store actions (commands and operations). In interactive CLI sessions, however, there is a better way of referring to actions – shell-like aliases managed via alias and unalias commands. To a certain extent, alias... Read more about Aliases in JBoss CLI

WildFly JBoss CLI JBoss Java EE Java Reading time: ~2 minutes

Variables in JBoss CLI

In Using environment variables in JBoss CLI, we described how to pass environment variables to CLI scripts. This brings us to a related concept – not unlike Unix shells, CLI also allows us to define variables for use inside scripts and interactive sessions. The basic commands for defining and undefining variables are set and unset, respectively. The $ symbol can... Read more about Variables in JBoss CLI

WildFly JBoss CLI JBoss Java EE Java Reading time: ~1 minute

Using environment variables in JBoss CLI

If you’re used to automating WildFly configuration with its CLI, you’ve probably faced the need for passing parameters to your scripts. In the era of Docker, which is a common way to distribute and run WildFly, things are usually passed around through environment variables. In this post, we’ll show how to get environment variables into CLI scripts. By default, the... Read more about Using environment variables in JBoss CLI

WildFly JBoss CLI JBoss Java EE Java Reading time: ~2 minutes

Secure database connection with WildFly

Security should be a priority for any application and there is rarely a reason not to encrypt the connection between the server and the database. Unfortunately, seeing an encrypted setup in practice is more the exception that the rule, probably partially due to the complexity associated with the setup. With an unencrypted connection, anyone with access to the network can... Read more about Secure database connection with WildFly

Continuous integration for LaTeX

Continuous integration is a necessary part of modern software development and you should take advantage of it in all your projects. The includes the LaTeX ones, which are often overlooked. For example, on GitHub, you can easily set up testing environment using Travis CI. Even if you always compile your documents locally, errors might slip through, particularly if you use... Read more about Continuous integration for LaTeX

TeX LaTeX CI Travis CI Reading time: ~1 minute

Interesting software development resources

In a previous post, I described the first session I hosted at this year’s GSoC Mentor Summit, an unconference wrapping up the Google Summer of Code (GSoC) program. This post summarizes my second session titled Interesting software development resources. The goal of this session was simple – get a group of developers in a room, let them describe what they’re... Read more about Interesting software development resources

Java GSoC GSoC 2016 Conference Reading time: ~1 minute

Useful libraries for Java developers

Google Summer of Code (GSoC) is a global program run by Google, the objective of which is to get university and college students involved in open-source development. Every year, Google pairs mentors from over 100 organizations with over 1000 students to work on three-month open-source programming assignments. Once the program is done, mentors are invited to GSoC Mentor Summit, an... Read more about Useful libraries for Java developers

Java GSoC GSoC 2016 Conference Reading time: ~2 minutes

Beacon poster at GA4GH Plenary 2016

This year’s Global Alliance for Genomics and Health (GA4GH) Plenary meeting in Vancouver featured introductory posters for various Global Alliance projects and initiatives. The Beacon Project was one of them. If you couldn’t attend, check out the poster here: Beacon: A Protocol for Federated Discovery and Sharing of Genomic Data from Miro Cupak Feel free to download the PDF or... Read more about Beacon poster at GA4GH Plenary 2016

Beacon GA4GH Plenary 2016 Conference Reading time: ~1 minute

Beacon technical talks at GA4GH Plenary 2016

The most recent Global Alliance for Genomics and Health (GA4GH) Plenary meeting ended a couple of days ago. This time, it took place in Vancouver, just before ASHG 2016 (Oct 16-18). As always, the meeting was organized very well (huge thanks to everybody involved), and successful in advancing GA4GH projects, as well as introducing new people to the initiatives. The... Read more about Beacon technical talks at GA4GH Plenary 2016

JavaOne 2016: Day 2

Day 2 of JavaOne 2016 started early again and was primarily focused on microservices in my case. Session 1: Operational excellence with Netflix Hystrix Hystrix is a latency and fault tolerance library from Netflix known for its circuit breaker implementation. This hands-on tutorial session described lessons learned from preventing cascading failures in a distributed system consisting of many services. The... Read more about JavaOne 2016: Day 2

Java JavaOne Conference Reading time: ~6 minutes

JavaOne 2016: Day 1

Day 1 of JavaOne 2016 was packed with great content. I started it with an early 2-hour tutorial session focused on microservices. Session 1: Introduction to microservices in Java Jason Swartz gave the first session of the day. Although categorized as a tutorial, the session turn out to be in a pretty standard slide-based format with basically no hands-on work.... Read more about JavaOne 2016: Day 1

Java JavaOne Conference Reading time: ~4 minutes

Logging requests with Undertow

If you develop Java EE web services, I’m sure you’ve found yourself in a situation when you’d like to see HTTP requests coming to your application for a moment in order to help you debug an issue. Sure, you could extend ContainerRequestFilter and write a nice logging filter based on JAX-RS, but you just need something temporarily to help you... Read more about Logging requests with Undertow

Undertow WildFly Logging JBoss CLI JBoss Java EE Java Reading time: ~1 minute

Configuring a datasource on WildFly

No matter how you’re running your application server, one of the first configuration changes you do is likely the addition of a datasource. In this post, we show how to do it with CLI on WildFly, using MySQL. The examples in this post assume there is a WildFly instance running on its default localhost:8080 and the management interface is listening... Read more about Configuring a datasource on WildFly

WildFly JBoss CLI JBoss Java EE Java Database MySQL Reading time: ~1 minute

Securing web applications with Keycloak and CLI

Keycloak is a great open-source authentication (now also authorization/access control) server particularly suited for applications consisting of many (micro)services. To make it easier to secure applications on WildFly and other runtimes, Keycloak comes with OpenID Connect and SAML 2.0 adapters. More information on adapter installation and configuration can be found in Keycloak’s documentation. WildFly adapter offers you 2 ways of... Read more about Securing web applications with Keycloak and CLI

Keycloak WildFly JBoss CLI JBoss Java EE Java Reading time: ~2 minutes

Enabling long deployments on WildFly

By default, WildFly has a 5-minute timeout for application deployment. This might not be enough for some enterprise applications, or if your application executes some lengthy operation during deployment, for example upon database initialization. In cases like these, you might see the following error in the log of your server: 400: Invalid request To increase the timeout, there are 2... Read more about Enabling long deployments on WildFly

WildFly JBoss CLI JBoss Java EE Java Reading time: ~1 minute

Duplicate services and the POJO subsystem in WildFly

If you’re developing a Java EE application consisting of several (micro)services, building with Maven, and deploying to WildFly, odds are you’ve seen the following line in the server log when the deployment of your application failed: 400: Invalid request Diagnosing the cause and fixing this issue can be a bit tricky and you need to have a firm grasp of... Read more about Duplicate services and the POJO subsystem in WildFly

WildFly POJO JBoss CLI JBoss Java EE Java Reading time: ~2 minutes

Configuring WildFly behind a reverse proxy with TLS

In practice, I typically find myself running WildFly behind an Apache reverse proxy. While configuring Apache is easy, I found the corresponding setup for WildFly hard to find in the depths of its documentation. Simply putting your installation behind the proxy is not enough, you need to perform additional configuration steps to ensure things like UriInfo in JAX-RS work correctly.... Read more about Configuring WildFly behind a reverse proxy with TLS

Setting up an open blog for free

As a developer, I come across technical challenges on a daily basis. Some are complex, but many of them are simple to implement once you take the initial time to figure out how things work. A while ago, I decided it would be a good idea to start writing down the solutions to this type of problems, not only to... Read more about Setting up an open blog for free