Matt RaibleMatt Raible is a writer with a passion for software. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

[ANNOUNCE] StrutsTestCase v2.0 Released!

StrutsTestCase v2.0 improves support for Struts 1.1 (including better support for testing Tiles and sub-applications), provides several requested enhancements, and fixes many reported defects.

The project home page can be found here:

    http://strutstestcase.sf.net

Notes for this release can be found here:

    http://sf.net/project/shownotes.php?release_id=157811

Questions and comments are always welcome!

Deryl Seale -

I just replaced the 1.9.5 JAR with the new 2.0 JAR and all my Action tests ran lickedy-split! Now I just have to get off my duff and write some Action tests for Roller.

Posted in Java at May 07 2003, 05:27:14 PM MDT Add a Comment

Server move should be completed

If you're seeing this post, then chances are that www.raibledesigns.com is resolving correctly for you. It's still not working for me from work, but that could be a proxy server / local DNS server issue. I've moved from the server that crashed all the time to a new one that is hopefully more stable. Thanks Keith!

Also, thanks to the folks that have e-mailed me offering their hosting services - it's greatly appreciated. Hopefully, things will run smoothly on this server and I won't have to move anywhere else. I installed JRockit at work today on both Windows and Linux, and it works so well (not to mention awesome monitoring tools), that I'm going to try to use it on this site. It's a 40MB download (same as Sun's JDK ??), but installs in under a minute.

The only error messages polluting my log file these days is the following. It seems harmless, but that means that we should probably not even be logging it. Anyone know of a solution?

2003-05-07 16:00:10,244 SimpleLog4JLogSystem.logVelocityMessage(181) | 
    VelocimacroProxy.render() : exception VM = #refererDisplayUrl() : 
    ClientAbortException:  java.net.SocketException: Broken pipe

Posted in Roller at May 07 2003, 05:14:03 PM MDT 4 Comments

WebWork and XWork Mavenized

Maven Propaganda I currently monitor the WebWork mailing list because I'm interested in the framework, and it's good to know what's going on over there. This morning I was impressed to see that one of the developers (seemingly overnight) Mavenized both WebWork and XWork. Very cool IMO. I especially like the Project Reports. If I do promote Moblogger to SourceForge, I think I'll mavenize it first thing. It's a small project at this point, so it'd probably be fairly easy to do. And we all know that some of the most successful open source projects are built on top of good documentation. So the real question is - wiki vs. maven?

Posted in Java at May 07 2003, 10:24:17 AM MDT 4 Comments

Cannot load JDBC driver class 'null'

I'm going to post my newly-found solution to an often-seen error in hopes that it will help someone. In the struts-resume demo application that runs on this server, I've been getting the following error message everytime I startup the context.

java.sql.SQLException: Cannot load JDBC driver class 'null'
        at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:529)
        at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:312)

In the past, this problem has been caused by not having the JDBC driver in my $CATALINA_HOME/common/lib directory, having an invalid username/password, or having another JNDI setting incorrect in server.xml. The strange thing about the problem this time was that everything was correct, and the app ran fine, save for the error (in the log file) on startup. Tonight I figured out the solution - I needed to grant permissions for the user with the specific hostname of the machine. I've been using the following SQL to grant permissions to the app's db user. This is the syntax for MySQL, it is probably different for other databases.

grant all privileges on resume.* to username@"%" identified by "password";

While this has worked on my WinXP machine, it failed on my RH9 box tonight. The solution turned out to be specifying the specific HOSTNAME (i.e. drevil.raibledesign.home), rather than "%".

grant all privileges on resume.* to username@HOSTNAME identified by "password";

Here Google, come and get it!

Posted in Java at May 06 2003, 10:52:24 PM MDT Add a Comment

JSPs compiled by Jikes

I configured Tomcat to compile JSPs using Jikes, and everything seems to work just fine. So good in fact, that I don't know that the change has taken effect. Anyone know how to verify that jikes is truly compiling my JSPs?

Posted in Java at May 06 2003, 10:31:02 PM MDT 1 Comment

I'm willing to bet...

... that this site crashes more than any other website I know of. It sucks. It was down most of the day due to a max of 20 database connections per MySQL user. When the automated process of restarting Tomcat for OutOfMemory errors took place, the database connections where not released for some reason. Damn. It was down a lot on Sunday and Monday because there was MySQL connection problems. NOTE: All of these issues are NOT related to Roller. Keith is going to try to setup a new box for me tonight to test on, and possibly move this site to. If that doesn't resolve these issues, I'm outta here and onto a new provider.

Posted in Java at May 06 2003, 05:01:13 PM MDT 1 Comment

Comments Fix

I committed a small enhancement to Roller's CVS tonight. Twisty Comments should now be FIFO instead of LIFO. Most commenting features are designed this way, including Roller's other two options (popup and single-page). Thanks to Keith for testing out twisty comments and inspiring me to fix this bug.

Posted in Roller at May 05 2003, 10:33:46 PM MDT 2 Comments

So much for zoom

My laptop is out of town, so I figured this would be a good time to send my phone (T68i) off and get the firmware updated. The reason I wanted the update was to get a zoom feature on my Communicam. I documented the painful process a while back, and have been putting it off ever since.

I called up tech support to make the request - and was disappointed to find out that they don't do requests, only repairs. This means no zoom for me, unless something actually breaks on the phone and I really need something to be fixed. The internet and information flow being the way it is though, I'm willing to bet that the firmware upgrade is out there (and downloadable), now I just need to find it!

Pssssstttt - have a hard time reading this site? Here's some homegrown zoom for ya.

Posted in General at May 05 2003, 06:35:37 PM MDT 1 Comment

Running a process from a servlet

Note to self: This may help you in running moblogger from a servlet:

Process p = Runtime.getRuntime().exec("/bin/chmod 700 /path/to/myfile");

I found this nugget on the tomcat-user mailing list - and I'm assuming it can be used to run any command-line process.

Posted in Java at May 05 2003, 05:10:11 PM MDT 2 Comments

Hibernate's Query by Criteria (What I'd like to see)

After trying to work with Hibernate's new Query by Criteria feature in version 2.0, I've come up with a page detailing what I'd like to see. Basically, this page results from the API not working for my needs - and since it's still in its infancy, hopefully this document will help shape it future. I'll add a comments link on the document (to this post) for any feedback or comments.

Posted in Java at May 05 2003, 03:56:12 PM MDT 2 Comments