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:
- Very powerful and WELL DOCUMENTED comand line interface. I prefer it now even over the slick admin UI.
- 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"/>´
<resource-ref enabled="true" ref="jdbc/New"/>.
- 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.
- 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.
- 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
- Call-Flow data is written to the database - so it is possible to analyse the robustness of deployed applications also afterwards.
- You can use jconsole to access glassfish! This is especially interesting during the loadtesting phase.
- Glassfish supports now clustering - I'm investigating now the details.
- 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...
- ...bugs are fixed very fast.
- 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.
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? :-)
NEW: Effective Java EE 7 -- Available For Streaming