Monday, July 23, 2007

EJB 3.1 - Initialize your application

EJB 3.1's spec is out for community's review. It is primarily targeted to solve EJB 3 problems but among the new specs I personally like container initialization and shutdown callbacks, asynchronous stateless session bean calls and cron-like EJB timers. It also include other (great) features like stateful web services.

Wednesday, July 18, 2007

Book

A good friend of mine recommended me to read this. I do recommend reading it for people with no so amazing negotiation skills :)

WebSphere vs JBoss

At the moment of time I am working to improve an application that suffers high memory consumption. So, my basic choice is to profile application with WebSphere (production environment), but that sucks WebSphere is slow. After a while I change to profile the application on JBoss and my life is whole easier now. However, after profiling I started observing memory allocation behavior when the application is running in JBoss against WebSphere. Result is that with a couple of clicks WebSphere allocated 1G memory. The same amount of clicks on JBoss will use 600M of memory and even pounding JBoss with more clicks does not make a huge difference. The difference might be easily the JDKs used on JBoss and WAS; JBoss was running on Sun JDK 1.4 and WAS was running on IBM JDK. I have no clue at the moment.

 

I also tried to use WebSphere Application Developer Suit to profile my application. At the end of the day, it just wrecked my installation. It must be me. No seriously, I haven't been patient enough to work with WebSphere recently. Maybe because JBoss is there :)

Thursday, July 5, 2007

JProfiler 3, WebSphere 5

JProfiler 3 wrecked WebSphere 5's installation. I still don't know what the problem is, but WAS now only starts from JProfiler. Damn! I still don't know why one should pay for WAS while there is a JBoss. Just wondering...

Monday, April 9, 2007

SQL Server 2000

May be it is the third day.... I haven't found any jdbc driver that nicely handles distributed transactions on SQL Server 2000. One says JSQLConnect is nice and expensive.

In any events, one point on jTDS: they say the XA data source is not production quality so a good driver is out of question. Another point, data direct's driver does not work with hibernate and SQL Server 2000 unless you disable hibernate's fetch identity values. On top of that our application goes crazy when I use data direct jdbc driver.  The first call to create first jms table fail because it is there and the subsequent queries fail with XAER_NOTA. jTDS does not exhibit this problem. Life sucks...

Tuesday, March 13, 2007

JBossWeb, Tomcat and Apache...

JBossWeb is said to be faster when it comes to secure connections. However, my two-days-testing didn't show any significant difference on how it handles regular http connections.

The first day was spend on testing Tomcat against 1500 http connections, and Tomcat reasonably handled the connections. JBossWeb did the same job with quite less CPU usage, which was not really impressive (around 2 percent CPU usage difference, and no significant performance gain). Both Tomcat and JBossWeb crapped out when bombarded with too many connections on the same hardware. In this test JBoss crashed with a running out of native threads errors message, and Tomcat did not throw any exception but it did not respond to any other request.

The second day was spend on configuring Apache to accept http requests, parse them into AJP1.3, and redirecting parsed requests to Tomcat. This test showed a better performance improvement, but still it was not impressive enough (around 3 percent performance gain) for us.

These tests had been run with a test client we have for our online game engine, and the results do not generally stand for a reasonable comparision of these technologies. I still need to see if I can tweak them so that I can get a better performance, in terms of CPU usage or speed, in our game engine.

Thursday, March 8, 2007

Java 7

I am nervous to see where this is going...