jueves, 29 de noviembre de 2007

New process scheduler for linux

There's a new "completely fair scheduler" for linux. I'm eager to see some benchmark or interactivity improvements over the old one.

miércoles, 28 de noviembre de 2007

IBM JDK tools

I'm not the only one with problem in the lack of profilers for the PPC64 IBM's Power platform.

Disable Explicit Garbage collection

You can disable explicit garbage collection (System.gc) by using the following switch:

-XX:+DisableExplicitGC

This week in various stress tests, many Stop the world collections are triggered by ServiceMix. This switch disables this behavior.

Stay hungry, Stay foolish

Google's architecture

Following with the technical video sessions, I'm fascinated by the clear introduction to Google's architecture in this video.



GFS, MapReduce and a modified version of Linux are the base of the empire :)

JBoss stupid configuration errors

Why on earth the JBoss people doesn't warn about connection pooling? The stale connection are very common. What happens when the server has a smaller timeout time for the connection than the application server?
Answer: the connection becomes stale. It doesn't work anymore. Some drivers such as jTDS or DB2 jcc have this behavior.
The best thing you can do is add the following tag to your datasource XML:

<check-valid-connection-sql> SELECT 1</check-valid-connection-sql>

The SQL statement can be anything useful to you. Be sure not to do something crazy such as a join. The only requirement is that the SQL must execute OK, otherwise JBoss creates a fresh connection.

martes, 27 de noviembre de 2007

WS-Discovery

Today I researched WS-Discovery. This is a protocol of the WS-* family and is very similar to a p2p architecture. But instead of using a propietary or binary messages to discover peers or services it uses XML and SOAP.
I don't agree that the WS-* stack is bloated, the interoperability is great, when you have communicated two applications written in two completely different languages such as Java and ASP, then you know that Web Services are paradise.
If you complain about bandwidth just use compression, and if you don't understand the protocols, do your homework :)
Returning to the subject of my post, WS-Discovery identifies clients and services. The clients send multicast "probe" SOAP messages asking for services. Then the services answer in unicast to the client, using WS-Addressing to indicate the client the service address. Also services can say hello or goodbye to the whole network in a multicast way. All in all it is a very simple protocol and really useful in mobile enviroment where connectivity is limited.
A good way to dynamically obtain a SOA service catalog too.
AFAIK there is no Java implementation, but a .NET one in Windows Vista, but i haven't checked it out yet. Perhaps it's a good addition to Apache Muse.