Testing persistence with Arquillian on TomEE

By Apache TomEE, Arquillian, Jakarta EE No Comments

Testing enterprise applications that use persistence can be a hassle: A test database has to be configured. The database has to be seeded before the test. After the test the state of the database has to compared with the expected result. This post shows how to write a test for a Java EE application that uses the Java Persistence API using these technologies: Arquillian is a testing platform that allows, among other things, testing Java EE applications in a Java EE application server. The Arquillian Persistence Extension is an extension to Arquillian that takes over seeding the database, matching the…

Read More

Apache TomEE, Arquillian, JCache, CDI, and Hazelcast – What more could you want?

By Apache TomEE, Arquillian, Jakarta EE 2 Comments

Well, OK, maybe a lot more, but these technologies just work so sweet together that we decided to jump in and give it a go at the Devoxx UK 2015 Hackergarten. Heather VanCura, a leader of the Java Community Process (JCP), clubbed several developers together for some fun key bashing and this is the result. Enjoy! This hack session was brought to you by Bruno Baptista, Paulo Martins and Andy Gumbrecht, with thanks to Heather VanCura and Devoxx UK 2015. JCache API This API allows the use of caching methods in an intuitive and transparent manner. You need two things in your…

Read More

Java in the Cloud: EEruption of the Heroku

By Jakarta EE No Comments

Today all major vendors have their own Cloud platform and most of them are betting on it for the future. Even if the cloud is not yet the everyday solution, it brings new challenges for servers. This post will deal with one example to show how Apache TomEE meets the challenge with success. What are the challenges of the Cloud? All Cloud platforms are a bit different as each have different default targets (i.e., Spring, Java EE, your own platform, only runtime, only build, or even build + runtime, etc.), however, they all share some common points a modern framework/server needs to tackle:…

Read More

Asynchronous EJBs on TomEE

By Apache TomEE, Jakarta EE 2 Comments

After configuring Asynchronous EJB invocations on WebSphere for the last few weeks at work, I had some ideas on how Asynchronous EJBs would work on TomEE and how they can be configured. EJB 3.1 specification does not say anything about how to implement asynchronous invocations and the semantics can differ a bit between application servers. This article: Gives a short introduction into Asynchronous EJB Explains the configuration options of TomEE with respect to Asynchronous EJBs Provides some ideas on how to configure your own system Includes a project demonstrating configuration options with TomEE A Quick Introduction into Asynchronous EJBs The…

Read More

Using JCache with CDI

By Apache TomEE, Hazelcast, Jakarta EE No Comments

The JCache JSR (JSR-107), finalized in late 2014, provides a standard mechanism to cache values in a map-like structure using a key. There are a number of different JCache implementations to choose from, and swapping between them should be no more difficult than swapping out .jar files on the classpath. In these examples, I will use Hazelcast which provides a distributed cache, giving the benefit that all of the nodes in the cluster are using the same cache and working consistently. CacheManager For anyone new to JCache, here are the basic concepts. It’s also worth having a look at the…

Read More

WebSocket and Lock It!

By Apache TomEE, Jakarta EE No Comments

WebSockets are a good technical solution where there is a requirement for interactive communication. A typical example is a chat system, but it makes much better sense for live updates such as the stock market.  Being able to see share prices go from red to green is a “must have” for stock traders. The WebSocket API is quite easy to use, but when it comes to security you don’t have a lot of options. However, don’t forget the first step in the WebSocket protocol is to upgrade a HTTP request. If you have a HTTP request, you should be able…

Read More

Apache TomEE JAX-RS and Arquillian Starter Project

By Apache TomEE, Arquillian, Jakarta EE 2 Comments

Know JAX-RS, but haven’t yet dug into Apache TomEE? Way too busy or impatient to read documentation? This repo is for you. https://github.com/tomitribe/tomee-jaxrs-starter-project The only thing better than a Maven archetype is a repo you can fork with everything already setup. Fork this repository on Github and you’re good to go! The contents are incredibly small: ./LICENSE ./pom.xml ./README.md ./src/main/java/org/superbiz/Color.java ./src/main/java/org/superbiz/ColorService.java ./src/test/java/org/superbiz/ColorServiceTest.java ./src/test/resources/arquillian.xml The only mandatory actions are the following steps: $ git clone [email protected]:tomitribe/tomee-jaxrs-starter-project.git $ cd tomee-jaxrs-starter-project/ $ mvn clean install tomee:run That’s it! With those simple steps above, you get the following: Easy to extend starter project setup…

Read More