Monthly Archives: June 2013

Concurrency Utilities in JavaEE with TomEE?

JavaEE 7 is just out but it already makes a lot of noise! One interesting thing is the JSR 236 (aka Concurrency Utilities for JavaEE). It is basically the specification of what everybody was already doing: using “multi-threading” in JavaEE.

While TomEE still targets JavaEE 6 (hopefully it will target JavaEE 7 after the 1.6.0 release) it can’t be integrated directly in the server. However with a little tip you can already play with it!

Continue reading


Env-entries with OpenEJB ApplicationComposer?

A quick tip to customize env-entries when using the OpenEJB ApplicationComposer. Suppose you have a Bean “CustomBean” and you want to inject the env-entry “foo” with the value “bar”.

Continue reading

TomEE Reference card: thanks Asciidoctor

Reference cards are “page(s)” listing in a single place key points and things to know of a product/language/…

To create them you can use the technology you want and i think a lot of them were created using Word, LaTeX etc…

However today generating it in HTML is a kind of must have since it is the easier way to share it but having it in PDF is still important since a RefCard should be available in offline mode too (to keep the original spirit).

Being able to split the content from the layout is a key point of languages like LaTeX, Markdown, Docbook…It is important for a reference card to be able to generate them in multiple formats.

I wanted to start to think to a reference card for TomEE and wondered what would be a good choice.

Continue reading


TomEE uses conf/tomee.xml as main configuration but we are at the moment thinking to an alternative configuration based on JSON.

Continue reading

ApplicationComposer (OpenEJB) configuration

ApplicationComposer is a nice OpenEJB runner to write simple but very fast JavaEE tests.

Here what a common ApplicationComposer test looks like:

public class MyTest {
    public Class<?>[] bean() {
        // return classes

    @Inject // get injected beans as in a managed bean
    private MyBean bean;

    @Test // write tests as usual
    public void myTest() throws NamingException {
        // ...

This is great but for more real cases you need to provide your datasources/resources configuration.

Continue reading