Here we are, using H2 in our test environment, Derby in development and Postgres in production. It’s 2014, and Java EE still doesn’t have a decent configuration specification… So how do we change datasources in Java EE depending on our environment ? There are several possibilities (from external property files, Maven resource filtering, Maven profiles with different configuration or JNDI tricks) but this […]
At Devoxx France 2014 I had a Tools in Action of 30 minutes on JBoss Forge…. in French. So, excuse my French… but if you understand the language, you can watch this video. Talk in French
I am the author of several Java EE courses for Pluralsight. Plurasight has been around for more than 10 years, and has an impressive catalog of courses, several on Java and Java EE. Each course is made of slides, demos and you will have the pleasure to listen to my voice ;o) No video of the speaker, but many screen recording for […]
Since the publication of my Java EE 7 book, my JavaOne and Devoxx Belgium talks (that you can find on Parleys), I’ve been quiet. But my 2014 new year’s resolution is to travel a few JUGs and conferences to spread the Java EE 7 word…. and I’m starting tomorrow! So if you want to know more about Java EE 7 […]
I’ve recently discovered Dash. It’s an API documentation browser which gives you offline access to 130+ API documentation sets. So once it’s installed, you can download the docsets you want and here you are with a single tool for all your documentation. I’ve installed all the docsets I needeed (Javadoc, SQL documentation, Man, Boostrap 3, HTML 5, CSS…) and I find […]
Disclaimer : I am a former BEA employee, former Weblogic consultant, author of three books based on GlassFish and use JBoss extensively. Today I’m self-employed and therefore do not belong to any company. On the 4th of November 2013, Oracle announced the roadmap of GlassFish. It talks about version “4.1 scheduled for 2014“, alignment with Java EE 8 and so on… […]
If you are like me, in your career you came across Architects who want to homogenize every single application in the company : from the smallest web app to the biggest application. All projects have to conform to the 542 pages In-house Architectural Guide and develop a 6 tier application (it could be 5, 6, 7 or 8 tiers, look […]
Last time I was at JavaOne, the conference was organized by a company called Sun Microsystems, at a unique location (Moscone Center) and most of my friends were wearing a blue t-shirt. I was very excited, it was my first JavaOne and I was giving a few talks about the JCP. I met dozens of people (Stephen Colebourne, Michael Nascimento […]
Back in 2011 I wrote a blog post about what I wanted to have in Java EE 7. Java EE 7 has been released, some of my Java EE 7 wishes have been fulfilled (Flow management and Batch processing), books have started to be published, and now it’s time to start thinking of Java EE 8. Arjan Tijms has already started […]
With Java EE 7 being released I thought it was time to update the Monster Component ! A few years ago Ludovic Champenois had this idea of adding as many Java EE annotations as possible to a Java class. It was then used by Alexis Moussine Pouchkine on his Java EE seminars. It was time to have a revival and […]
As you might know by now, Java EE 7 will be released in a few days. There are many new features and I will not cover these novelties now. I just want to mention that most of the XML deployment descriptor namespaces have been updated. Nothing that will change your life as a developer, but as I mentioned on the […]
Update : the book has been published end of June 2013 I have been quiet on my blog lately but there was a reason: I was writing a Beginning Java EE 7 book for APress. I am using the past tense because I’ve finished writing it. I’ve gently started in November 2012 and accelerated the writing pace as I was following the updates of the […]
After the announcement of the NoMock Movement I had to write another post about integration testing. Here it goes : how to test your nice RESTful URIs ? Use Case Often you hear that URIs have to be expressive… and you want to test that your URIs are nicely written. How do you do that ? Unit testing with mock […]
I would like to thank Arnaud Heritier who gave me plenty of tips and advices to write this blog. In fact if you want to endorse someone on Maven in LinkedIn, he is the man, not me ;o) If you use Maven in your projects you might wonder what “Let’s Turn Integration Tests with Maven into a First-Class Citizen” means. A […]
Sometimes life is about surprises. The other day I received an email from a friend saying “hey, congratulation, you’ve been awarded one of 100th people who will move IT forward in 2013“. Of course, I didn’t understand his email and didn’t reply. A few days later I received a more official email from the French IT magazine 01 Informatique who said […]
Everything started when Eve said ‘No‘ when God told her not to eat the fruit. Then my daughter said ‘No‘ when I told her to clean her room. Then we had a bunch of guys saying ‘No‘ to SQL. Then I read Is there such a thing as the NoMock movement?… And today I’m saying let’s launch the NoMock Movement […]
Stephen Chin had this crazy idea of touring Europe on its way to Devoxx, and interview people. He called it the “Hacking Tour – The Road to Devoxx“. On his way from Italy he crossed France, stopped over to interview several people and then he arrived in Paris to interview me as well as the Parisian Java community (Paris JUG, […]
A short blog about a topic I was discussing last week with a customer: testing SOAP Web Services. If you follow my blog you would know by now that I’m not a fan of unit testing in MOCK environments. Not because I don’t like it or I have religious believes that don’t allow me to use JUnit and Mockito. It’s just because with […]
If you are interested by Java EE development and roadmap you might have read recently that the Cloud feature in Java EE 7 has been delayed. As I’ve already expressed in the Java EE 7 expert group mailing list, I’m happy about this news because I feel standardizing cloud in EE 7 was way too early. But I’m also sad. Sad because […]
Do you remember the good old Java Petstore ? It was a sample application created by Sun for its Java BluePrints program. The Java Petstore was designed to illustrate how J2EE (and then Java EE) could be used to develop an eCommerce web application. Yes, the point of the Petstore is to sell pets online. The Petstore had a huge […]
I.T. is full of complex things that should (and sometimes could) be simple. Getting the JQPL/SQL String representation for a JPA 2.0 CriteriaQuery is one of them. By now you all know the JPA 2.0 Criteria API : a type safe way to write a JQPL query. This API is clever in the way that you don’t use Strings to build […]
It's 2012 and my first resolution of the year is to finally tell the truth about testing : unit testing is pretty much useless when your code runs inside a container. How do you unit test an EJB which relies on the container services (i.e transaction, injection, security...) ? Well, you mock the database access, you mock your security layer, you mock your dependencies, you mock your validation layer... to test what ? A bit of business logic. Yes. Unit test is interesting when you have complex business logic to test so you can have quick feedback. Otherwise, it's a waste of time which doesn't test your container services. So I'm not saying unit testing is completely useless, I'm saying that integration testing is also to be considered when you run your code inside a Java EE container.
Nearly two years ago (time flies), when Java EE 6 came out, I wrote a post about application servers where I did some micro benchmarking (basically, startup time). I had plenty of comments and recently I had many people asking for some updates. Witht Java EE 6 booming, with some cloud vendors moving to Java EE 6, it was time to update this microbenchmark and focus on Java EE 6 application servers. BTW, if you want to know what Java EE 6 is, you can check the slides of a presentationI gave a few times.
Same disclaimer as last time : This is not a real benchmark ! so I'll copy paste the paragraph I wrote last time :
In this test I’m just concerned about the usability of an application server for a developer. The idea is to download it, install it, start it and take some measurements : size of download, ease of installation, size of disk, startup time, size of RAM.
If you follow this blog you should know that latelly I've been writing (and talking) about CDI (Contexts and Dependency Injection). CDI has many aspects to it but until now I've focused on how to boostrap CDI in several environments, how to add CDI to an existing Java EE 6 application, and more recently how to use injection with CDI. Actually this post is the third on CDI Injection : Part I focused on default injection and qualifiers, and Part II on all the possible injection points (field, constructor and setters). In this post I'll explain producers or "how you can inject anything anywhere in a type safe manner".
I've been asked so many times "what are the implementations of such or such specification in Java EE 6 ?" or "what is the reference implementation of such a spec ?". Because I always forget some (and to be honest, sometimes I don't even know if a spec has several implementations of not), I'm writing this post to help me (and you) to remember.
So here is a non-exhaustive list of the several Java EE 6 implementations (please leave a comment to add anything to this list) ...