adam bien's blog

Glassfish could become the killer appserver for Java EE 5, second impression 📎

In my last post I wrote about my first impression with glassfish. Now I'm working a couple of time with glassfish (and have probably several hundred times auto-deployed my app). From the technical point of view glassfish IS already going to be the mainstream in opensource. Some reasons:

  1. Very powerful and WELL DOCUMENTED comand line interface. I prefer it now even over the slick admin UI.
  2. The server can be also easily configured modifying a configuration file directly. It is possible to verify the modifications with the tool: verify-domain-xml (in CLI). To configure a new DataSource only two additional lines of configuration-code are needed:

    <jdbc-resource enabled="true" jndi-name="jdbc/New" object-type="user" pool-name="DerbyPool"/>´

    <servers>
        <server config-ref="...">
         <resource-ref enabled="true" ref="jdbc/New"/>
    .

  3. Non trivial stuff like locking, caching and clustering is well documented. This is not very common in the opensource space. Some opensource servers (:-)) needed 3 years to document essential important settings like optimistic concurrency or different locking strategies.
  4. Error messages errors are clear and helpful:
    ---
    Caused by: java.lang.IllegalArgumentException: You have provided an instance of an incorrect PK class for this find operation.  Class expected : class java.lang.Integer, Class received : class java.lang.Long.
    ---
  5. It is possible to write out SQL statements to a log file (see my last post), even with binding variables, without the usage of additional tools like P6SPY
  6. Call-Flow data is written to the database - so it is possible to analyse the robustness of deployed applications also afterwards.
  7. You can use jconsole to access glassfish! This is especially interesting during the loadtesting phase.
  8. Glassfish supports now clustering - I'm investigating now the details.
  9. I build Glassfish from source - it works very well (but you need about 2 hours). The only drawback: Maven 1 and not 2 is used...
  10. ...bugs are fixed very fast.
  11. There is really great and open community support.

Now it is time for managers to play golf and try to establish Glassfish also in commercial space.

Off-topic:

I found also very interesting (and affordable: it starts with about 2000€) Sun-Server technology called "coolthread". I only wondering whether there are already performance tests with Java EE/Glassfish available online.

So something happens: is it the Jonathan Schwartz effect? :-)