ExecutorService Build in API, which running of asynchronous tasks makes simple. Create it with factory method from Executors class: Assign a task in one of 3 ways: submit(task) – provide Runnable or Callable task as an argument. Returns Future invokeAny(taskList) – provide collection of Callable tasks. Tries to execute all tasks, returns response from one of successfully executed. invokeAll(taskList) –…
Category: Java
Java functional interface. Lambda, Consumer, Supplier, Predicate.
Functional interface – an interface with single abstract method. Optionally marked with @FunctionalInterface annotation. Lambda – functional interface with a method, which receives and returns value Supplier – function, which does not receive value, but returns one. Mostly used for lazy value generation. Consumer – function, which receive value, but does not return. Mostly used for side…
Sample of H2 in-memory database, Hibernate and JNDI in Jetty
In this post I’m about to figure out how to use the following things in Java project: How to leverage in-memory H2 database? Particularly configuring it in maven pom.xml How to to initialize and use H2 database via Hibernate? How to use JNDI naming for DB connectivity on Jetty? As a base for sample project I’ll take a tiny webservice…
How to use Jetty to run Java web application locally?
Development of enterprise level web applications always cause some extra effort to setup various components locally. For example, if production environment runs big and robust Web Application server, like IBM WebSphere or Oracle WebLogic, you might don’t want to install and run it locally. Either for performance, configuration or licensing obstacles. There is a reasonable alternative to run and debug…
How to configure Flying Saucer and OpenPDF to load CSS from java resources classpath?
This post is a follow-up of the previous one about How to convert HTML to PDF in Java ? The latter is about how to use Flying Saucer and OpenPDF libraries to convert Html content to PDF. The sample in there was simply using resources by providing system path to necessary files. In the real world you can’t go like this.…
How to convert HTML to PDF in Java ?
There is so common requirement to generate PDF for some online content or reporting data. Also there is number of ways doing it. For example you could deliver it by leveraging headless browser (like Chrome or an older, already not supported but verified by time – PhantomJs) or use some dedicated back-end library. Differences between the latter are most likely…
JUnit test and mock private methods with PowerMock
First of all it might sound a bit strange – test private method. Why shall I do it – its private, not exposed and tend to change or disappear at all during some code refactoring. Although we might need to mock private method to dissociate from whatever it does, all the complexity, just use an output it supposed to produce.…
What is a functional interface in Java8? Quick explanation and sample.
Any interface with a single abstract method is a functional interface and its implementation may be treated as lambda expression. It can have only a single functionality. However a functional interface can have unlimited default methods. Note, that default methods have implementation and abstract methods – not. The latter can be only one in functional interface. When defining your own…
What is a method reference in Java8? Quick explanation and samples.
Method reference – Lambda expression, which calls known method, written in shorter, more compact way. This is how we can define it in a short way. There are 4 types of method references: Reference to a static method Reference to an instance method of a particular object Reference to an instance method of an arbitrary object of a particular type…
What is Lambda expression in Java8? Quick explanation and Sample.
Lamba expression – an anonymous function that can be passed to or returned from a method. The most simple case of a lambda is a functional interface with a single method which receives some values and return a value. Actually any interface with a single abstract method can be treated as functional interface. Its implementation is called Lambda expression. So it is…