Tuesday, August 14, 2007

Thread Death Error





Ran into a thread death error when using tomcat 5.5 . I have a servlet using some of the log4j for logging Any request which hits this servlet started throwing up this error .

Servlet.service() for servlet project threw exception

java.lang.ThreadDeath at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1252) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1212) at org.apache.log4j.Category.forcedLog(Category.java:388) at org.apache.log4j.Category.log(Category.java:853) at org.apache.commons.logging.impl.Log4JLogger.debug(Log4JLogger.java:171) at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:349) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:461) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:442) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)


The log4j components used in servlet was also pretty straight forward.

/** Logger for this class and subclasses */
protected final Log logger = LogFactory.getLog(getClass());
.... ...

logger.info("ProjectAppController - returning login view");

The log4j.properties were also pretty much in place. All the log4j related jars were placed within a webapp(WEB-INF/lib) Googling about this resulted in a couple of links which talked about the Tomcat server using log4j of the web application So it turned out that if i have log4j jar and commons-logging.jar present in the common/lib of Tomcat server the error vanished. This seemed pretty strange for
1. Why should the server bother about some logging classes present in one of the web applications?
2. Even if tomcat uses log4j extensively should'nt these jars be present in the lib folders?
The solution as well as the problem does'nt seem convincing , Need some more investigation into this


Wednesday, July 25, 2007

Of Chinups and swollen biceps

Another crazy idea. decided to match my fitness with another dude today . We started with the chinup bar . The other guy did 3 X 10 chinups with a reverse grip . It seemed pretty easy to look at , and against my initial judgement went ahead with the exercise and ended up with 3 X 6 chin ups. It seemed fine initially with a little niggle . The trouble started in the evening when I was reaching for the bike handle , only then did I notice the swelling and now I am walking like a la Salman Khan - (minus the muscles )

Friday, July 20, 2007

Random Notes

I have had the privilege of watching few peers making the journey from a decent programmers
to good programmer(if not great).
I observed the following patterns similar to these successful people
1. Passion : The passion and exuberance is amazing at whatever work they do.
and this passion for work is very infective.Most often the teams who work with such individuals show the same passion .One can verify this from the quality of the work done.


2.Life outside work : If work gives them their daily bread , the extra cheese and other toppings come from
programming outside of office . Generally this activity involves either contributing to the open source
or in pursuit of their passion . This is what keeps their technical skills sharpened and the motto here
is never to lose sight of the goal .

3.Time management : This is probably one of their greatest assets. Apart from being efficient at work,
what I have observed is these guys have time for almost everything they want to do . Partly the time management
skills are a side-effect of their discipline .

4. Clarity and the depth of understanding : In times when every resume boasts of the latest and greatest technology
and most of them cannot answer fundamental concepts, these select few , I have observed have indepth knowledge on whatever
they say they know .

Saturday, June 16, 2007

Interviewing horrors

Of late I am learning to be immune to some insane answers to basic Java Question

Sample this conversation

VC(me): Hmm .. you have rated yourself as 9/10 in Java


candidate(Interviewee) : You know with 7 plus exp in Java J2EE I believe that I am good for 9


me : Fair Enough .. lets get on some tech questions starting with Java


candidate: OK


me : Can you explain to me what does System , out, println stand for in System.out.println()


candidate : ponders for a while and then says System is package , out is class and println is the method


me : (Oh ! this is going to be a long day ... )


Here's another from a different candidate when asked the same question
I have been working only with enterprise Java , I feel these concepts are not required


I am kind of learning to deal with such shocks with little or no expression on my face ..
My friends say that I am trying to be too polite but then
unlike them I believe in non-violence and these are not one -off cases, people are struggling to explain concepts like serialization, collection api...

My advise for people trying to get out of the rut .. or getting started ..

1. Decide if you want to pursue a developer's path or move to managerial. One way or the other .. don't ever ever get stuck in the middle


2. Code , code code and get the basics right .. Oh yeah think before you say 9/10