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.

Make money drinking beer and discussing MySQL

I got a call from a nice lady from a Market Research company on the way home from a mountain bike ride this afternoon. She said she'd pay me $100 if I came in and discussed MySQL for 30 minutes! Sounds great, eh? She asked me if I'd attended a paid "research discussion" before. I told her, "Yes, in college we drank beer for $50."

Well, guess what - she's paying for drinking beer too. I can't attend either one because we're heading out to California next week. You should probably live in (or near) Denver to make it worth your while. For the beer taste test, contact Kari Allen at 303-980-1909 (must be male 21-29). For the MySQL Discussion, contact Christine at 303-980-2262. Good luck - hope you make some cash and catch a buzz! ;-)

Posted in General at Aug 21 2003, 10:17:32 PM MDT Add a Comment

Maven and Automation of Build/Test/Deploy process

I've convinced the folks at my new project to use Maven for organizing, building and testing our projects. It's my recommendation because they have many (5+) webapps that all have the same dependencies. Maven was the obvious choice to eliminate duplication and standardize directory structures, etc. So my question is - how do I automate our build/test/deploy process? I currently use Anthill with Ant, and wish I could use it with Maven. Last time I checked, I couldn't. I've heard I could use CruiseControl. If that's true (and recommended over Anthill) - anyone got a HowTo?

Posted in Java at Aug 21 2003, 02:33:18 PM MDT 5 Comments

Tomcat 5.0.9 Alpha is now available for testing.

Download and Changelog. I won't be downloading or trying any more Tomcat Alpha's - I just don't have the time. Nor will I announce any more releases until a beta comes out. I can hear the Thank You's already... ;-)

Posted in Java at Aug 21 2003, 11:11:05 AM MDT Add a Comment

MySQL Problem: No operations allowed after connection closed

I asked the following question on the Hibernate Forums, but thought I'd put it here to see if anyone can help.

I'm using the open-session-in-view pattern and getting the following error at random:

2003-08-21 07:00:08,873 WARN [Thread-27] JDBCExceptionReporter.logExceptions(38)
    | SQL Error: 0, SQLState: 08003
2003-08-21 07:00:08,874 ERROR [Thread-27] JDBCExceptionReporter.logExceptions(46
    ) | No operations allowed after connection closed
2003-08-21 07:00:08,875 ERROR [Thread-27] JDBCException.(37) | Could not execute
    query java.sql.SQLException: No operations allowed after connection closed
at com.mysql.jdbc.Connection.checkClosed(Connection.java:2497)
at com.mysql.jdbc.Connection.prepareStatement(Connection.java:1287)
at com.mysql.jdbc.Connection.prepareStatement(Connection.java:1267)
at org.apache.commons.dbcp.DelegatingConnection.prepareStatement
    (DelegatingConnection.java:187)
at net.sf.hibernate.impl.SessionFactoryImpl.getPreparedStatement
    (SessionFactoryImpl.java:537)
at net.sf.hibernate.impl.BatcherImpl.prepareQueryStatement(BatcherImpl.java:56)
at net.sf.hibernate.loader.Loader.prepareQueryStatement(Loader.java:482)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:136)
at net.sf.hibernate.loader.Loader.find(Loader.java:620)

I've used my same ServiceLocator.java class for the past 6 months on a couple of different projects (MySQL and Oracle), with no issues. But now I've developed a new app for a new client, and this error is popping up a LOT. Any ideas? I'm only closing the connection after my doFilter() method in a Filter.

It doesn't happen at all on my Windows XP machine (I've never seen the error). Only on Linux.

uname -a gives me:

Linux kgb08 2.4.20-8bigmem #1 SMP Thu Mar 13 17:32:29 EST 2003 i686 i686 i386 GNU/Linux

Tomcat 4.1.27, MySQL 4.0.13-Max-log, JDBC Driver mysql-connector-java-3.0.8-stable-bin.jar.

I've also seen it happen on MySQL 3.23.56, but now I can't seem to reproduce it.

Any ideas?

Posted in Java at Aug 21 2003, 07:50:12 AM MDT 11 Comments

RE: Mozilla Firebird Extensions

Kenneth Hunt (via Erik) hooks us up with a link to Mozilla Firebird Extensions. I tried to install one of my favorite Mozilla extensions - Autoform. No dice - Not a valid installer package. Damn.

Posted in The Web at Aug 21 2003, 06:24:24 AM MDT 2 Comments