Matt RaibleMatt Raible is a Web Developer and Java Champion. 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] Hibernate 1.2.3 Released!

Apparently the Hibernate folks don't advertise releases to the mailing lists, cause I never knew about this release (happened yesterday) - until I read Erik's blog today. Anyway, there's nothing new to this release, mostly bugfixes. I'll still be updating my projects that use Hibernate, as it's much easier to upgrade often than to try to migrate b/w releases. I've discovered this the hard way with XDoclet and Roller.

Trying to keep up with all these projects, and my affinity for nightly builds begs for me to implement Maven ASAP. I keep checking in JARS to CVS and removing them a week later!

Posted in Java at Jan 30 2003, 03:34:26 PM MST 1 Comment

[SOLVED] Connection Timeout using Oracle with Tomcat

I finally solved the problem I was having where the DBCP Connection Pool in Tomcat kept getting closed. At first, I thought it was happening every 24 hours. After we configured connection logging in Oracle, we discovered it was happening every 2 hours. After posting numerous (likely annoying) messages to tomcat-user and struts-user (with no resolution), I looked up my local Oracle user-group mailing list and fired off a message.

The first (and only) response solved my problem. It said I should check and see if there is a connection timeout on the firewall. Sure 'nuff, 90 minutes. So I wrote a DBPingServlet, coupled with an Ant task to make an HTTP Request to get the servlet, and scheduled it as a cron job. Whalla - the problem is fixed! Thank God - it was annoying to restart Tomcat every 2 hours! Of course, if folks where actually using our application - this would've never been an issue... ;-)

Posted in Java at Jan 30 2003, 03:17:35 PM MST 1 Comment

New Product from Google - "Froogle"

Froogle Logo Google has a new service in beta called Froogle. I might just have to use it to find out where to purchase my next online item.

Froogle is a new service from Google that makes it easy to find information about products for sale online. By focusing entirely on product search, Froogle applies the power of Google's search technology to a very specific task: locating stores that sell the item you want to find and pointing you directly to the place where you can make a purchase.

Posted in The Web at Jan 30 2003, 07:19:58 AM MST 1 Comment

How To: Configure Log4j to notify you of errors

A couple of weeks ago, I mentioned that I was interested in using Log4j's SMTPAppender to e-mail me messages when errors occured in my webapp. I discovered how easy it is a couple of days ago. Here's how to configure it.

1. Add mail to the log4j.rootCategory in log4j.properties: log4j.rootCategory=INFO, stdout, mail
2. Add the following configuration settings to log4j.properties:

# Configuration for receiving e-mails when ERROR messages occur.
log4j.appender.mail=org.apache.log4j.net.SMTPAppender
log4j.appender.mail.To=@ERROR-MAILTO@
log4j.appender.mail.From=@ERROR-MAILFROM@
log4j.appender.mail.SMTPHost=@ERROR-MAILHOST@
log4j.appender.mail.Threshold=ERROR
log4j.appender.mail.BufferSize=1
log4j.appender.mail.Subject=CCT Application Error

log4j.appender.mail.layout=org.apache.log4j.PatternLayout
log4j.appender.mail.layout.ConversionPattern=%p [%t] %C{1}.%M(%L) | %m%n

One question I have is that the ConversionPattern is kinda funky - where the line breaks don't seem to be carried into the e-mail (from exception.printStackTrace()). Any suggestions for a better configuration are appreciated. The To, From, and SMTPHost are all replaced with values from Ant during the build process.

Posted in Java at Jan 30 2003, 06:25:43 AM MST 5 Comments