Friday, June 27, 2008

Java Woes

Yes, I'm thinking back this day to the good old days of programming. Back to my C++ days. Back when, if a piece of code that you called didn't exist or wasn't available, it gave a nice, sensible link error and refused to create your executable.

Yes, I'm in an "I hate Java" moment.

We need to connect to a DB2 database. This particular database insists on encrypted connections, and because it's an IBM database, (and because they can, I suppose), DB2 insists on having client apps use THEIR encryption algorithms. Which either means using their Java runtime entirely, or messing with the /etc/java/security/ file in my Sun JRE install. Yup, red flags are waving, buzzers are going off. Danger, Will Robinson, danger!

So I replace the entries in with IBM's classes. At this point, everything Java on my box stops working, complaining about not finding SHA-1 and/or MD5. I mean, Eclipse won't save my source files, for crying out loud. So I put the Sun stuff back, and add the IBM stuff at the end. A sample command line program that connects to DB2 now works (as does Eclipse, once again), but the same code in Tomcat 5.5 doesn't work. Gives error of "Prime size must be multiple of 64, and can only range from 512 to 1024".

After poking around a good bit further, it finally dawns on my boss, who was also troubleshooting this, that not only do we need to specify the classes in, but we also need to make 6 new jarfiles available on the classpath for Tomcat (and presumably every other Java app that uses that runtime).

Which brings me back to my pining for the good old days. The days when, if I forgot a library, I got a message saying "Dude, you forgot a library", not something completely orthogonal like the above "Prime size ..." hooey.

I'm gonna go do something that makes sense, like C++. Grrrr...



Post a Comment

<< Home