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.
You searched this site for "appfuse". 771 entries found.

You can also try this same search on Google.

Should I rename Equinox to AppFuse LE?

I'm curious to know if folks think I should rename Equinox to "AppFuse LE"? LE stands for "Light Edition" in this context, but I'm open to other suggestions. Even though my Equinox project is ranked higher than Eclipse's Equinox project, it's obvious there's a name clash. It seems to make sense for me to change the name since it's a one-man project and Eclipse is a huge organization. AppFuse LE seems like a good descriptive name, as does "AppFuse Light" and "Spring Kickstart".

Eventually, I'd like to figure out a way to merge AppFuse and Equinox. If users could start with something like Equinox (no features) and plug-in the various features, that'd be pretty cool. Some web frameworks (i.e. Struts 2) have a plugin feature, but most don't. I figure we can leverage Struts 2 for all frameworks, and convert to specific frameworks' plugin features if they're added. Of course, we're also looking at OSGi and Spring's OSGi support for our plugin architecture. The only problem with OSGi is it looks pretty complicated compared to Struts 2's plugin system.

The other advantage of changing the name is I could create a new java.net project with SVN support and not have to pay for the CVS -> SVN conversion. Of course, leaving the name the same also makes it pretty easy as there would be no additional work for me. ;-)

Thoughts?

Posted in Java at Nov 13 2006, 09:36:59 AM MST 20 Comments

Continuum, Luntbuild, Pulse and NetBeans

Last night, I did a bit of playing with technologies new to me. First of all, I got AppFuse 2.0 running on Continuum. This was was easy enough, I just had to add <scm> information to each pom.xml. Thanks to those who recommended this approach. I thought it was a silly solution until I realized "mvn site" produced the wrong information when <scm> wasn't present for sub-modules.

Since I was playing with Continuous Integration tools, I decided to give Cerberus, LuntBuild, and Pulse a spin. My goal was to give each server the old "college try" and see if I could get them running with minimal effort. I don't know where I heard about Pulse, but it was somehow included in my tests.

Cerberus didn't work with my Cygwin/Ruby setup, so I was done with it quickly. LuntBuild worked pretty well, but the interface and configuration seemed kinda clunky. I also found it strange that it uses a 4.x version of Jetty - seems kinda old. I was surprised to see that it uses Tapestry for its web framework. Pulse was the nicest one with a kick-ass (ajaxified) user inferface, powered by Acegi, WebWork and Hibernate (according to its JARs). It was definitely the easiest to setup and use. While Pulse isn't free for commercial use, it is free for open source projects, as well as small teams.

Summary: Continuum, LuntBuild and Pulse seem to be the best tools for building Maven 2 projects. While CruiseControl works, and works well, it does require you to customize XML from the command line, whereas these tools allow you to do everything through a web interface.

Toward the end of the night, I downloaded NetBeans 5.5 and installed its Maven 2 Plugin. I was surprised at how full-featured this plugin is. I was able to build, test and run the AppFuse web modules in the embedded Tomcat without issues. It's definitely a cool plugin. As for NetBeans, it seemed pretty sluggish and I couldn't figure out how to get Ctrl+Shift+R functionality, which is a must for me these days. Also, I couldn't get the JSF support working for the AppFuse JSF Module, seemingly caused by the Maven plugin (project properties only has Maven options). Since NetBeans works so well with Maven 2, and it's much more full-featured than Eclipse, it seems natural to recommend it to AppFuse 2 users. Of course, I like IDEA a lot more, but there's no Maven 2 plugin that I know of.

Posted in Java at Nov 03 2006, 10:31:19 AM MST 17 Comments

IDEA 6 on OS X and Out of Memory Errors

Ever since I upgraded to IDEA 6.0.1 on OS X, I've been getting Out of Memory errors like no tomorrow. It seems like it's leaking memory when I'm not even using it. Today, I went to lunch shortly after opening IDEA to do some work. When I came back, I was created with the following dialog:

OOM Error Dialog

I've set my Info.plist to have -Xms256m -Xmx512m -XX:MaxPermSize=256m, but it doesn't seem to help. How has your IDEA 6 experience been on OS X? Are you running out of memory? I haven't had any issues on Windows - maybe it's a problem with the MacBook Pro?

I fully expect the IDE zealots to say "use NetBeans or use Eclipse". Eclipse doesn't support hierarchical projects, so that won't work. I'm willing to try NetBeans if I can run something like "mvn netbeans:netbeans" and if it supports hierarchical projects like IDEA does.

Posted in Java at Nov 02 2006, 08:06:39 PM MST 15 Comments

Upcoming Speaking Engagements

If you're interested in learning about Struts 2 or AppFuse, I'm doing a number of speaking engagements in the next month:

How's that for getting some mileage out of my CSS presentations? ;-)

I don't know who will be doing the Basic Concepts talk at DJUG, but I'm pretty sure Chris Maki will be presenting on JPA at the JBoss User Group meeting.

In addition to these local talks, I'll also be talking at The Spring Experience on What's new in AppFuse 2.0. Since my talk is at 9:30 p.m. on Saturday night, I'm looking into getting some free beer to bribe people into showing up.

Posted in Java at Nov 01 2006, 09:56:18 PM MST 4 Comments

JIRA Spam

The AppFuse JIRA instance has been getting hammered with spam today. Some jackasses are creating accounts and posting issues (as well as comments) chalk full of links. Any ideas how to stop this - outside of not allowing new users to sign up?

Posted in Java at Nov 01 2006, 09:32:56 PM MST 7 Comments

GenericRCP - A GUI for your Hibernate Domain Objects

Peter Schneider-Manzell is an active contributor to AppFuse's documentation and mailing list. Yesterday, he posted a message to the mailing list announcing the 0.3.0 release of GenericRCP.

We (a good friend of mine and myself) started a SpringRichclient based project, called "GenericRCP". With this tool, you can edit your DB directly via your classes and Hibernate. The GUI (Panels / Binding etc...) is generated dynamically out of a JAR, containing the classes and hbm.xml files.

For AppFusers: You only need to import your <.....>-dao.jar, and you can start to edit the values.

You can use this project as a starting point for a customized editor with CRUD functionality and add customized panels / attribute editors for different classes / attribute types, and combinations of them.

Yesterday, I tried GenericRCP with the appfuse-dao.jar from 1.9.4 (XDoclet-based), as well as the appfuse-data-common-2.0-SNAPSHOT.jar (annotations-based) and it worked with both. Nice work Peter!

GenericRCP Screenshot

Posted in Java at Oct 31 2006, 02:01:51 PM MST 2 Comments

Export your Facelets pages into PDF, PNG and SVG

Jacobus Steenkamp has an interesting article on java.net: Combine JSF Facelets and the Flying Saucer XHTML Renderer. In this article, Jacobus shows how you can use a filter and the Flying Saucer project to export a Facelets page to PDF, PNG or SVG. Pretty cool stuff if you ask me. I don't know if I'll ever have a need for it, but it's nice to know that this functionality exists.

Shameless plug: Equinox 1.7 and AppFuse 1.9.4 both include Facelets for their JSF options.

Posted in Java at Oct 31 2006, 09:42:18 AM MST Add a Comment

greendimes - powered by AppFuse

greendimes greendimes is a company that helps you to stop receiving junk mail. From their web site:

There are dozens of companies that sell your name to make a buck (actually, lots of bucks). We'll make sure you're taken off their mailing lists. How?

Well, we'll call, email and write these companies to make sure they leave you alone! This isn't easy. These companies change their policies and their contact info often. And even if you do go through the effort of validating every company's policies and contact info and write to each one, you could still get junk mail from them. Why?

Because when you move, donate money to charity, buy something from a catalog or do one of a hundred other seemingly innocent things, your name gets sold! That's why we're a recurring service -- we're going to contact these companies on your behalf a LOT, just to make sure you're kept off of these lists and people stop selling your name and address.

We keep you off.
Just because you're off doesn't mean you stay off. Just about anything you do -- refinance, move, get a new credit card, etc. -- puts you back on. So, we will regularly request your information be removed from existing lists and we add new junk mailers to our list regularly.

Sounds like a pretty cool service to me.

How do I know it's powered by AppFuse? Because they're still using the AppFuse favicon, and because I recently saw they're hiring a Senior Software Engineer with AppFuse experience listed as a bonus.

Posted in Java at Oct 29 2006, 11:52:01 AM MST 3 Comments

OpenLogic sponsors AppFuse Development

Open Logic A couple of weeks ago, I blogged about integrating Facelets and Ajax4JSF with MyFaces. What I didn't mention was I needed to do this for a project I was working on at OpenLogic in Broomfield. Even better, OpenLogic gave me permission to use the code in AppFuse 1.9.4. In addition, I learned enough on the project to integrate Facelets and Ajax4JSF into Equinox 1.7.

Please help me in thanking OpenLogic for their generosity! Also, don't forget to checkout the OpenLogic Blogs.

Posted in Java at Oct 26 2006, 05:36:23 PM MDT Add a Comment

[CSS 2006] Day 1

Today, I woke up early and made it to the conference in time for breakfast and John Soyring's Keynote. While I didn't stay tuned in the whole time, it looked like he had some good slides and he was definitely an eloquent speaker. It did turn into an IBM sales pitch at times, but overall it was pretty good. One thing I didn't know is apparently Wayne Kovsky (the conference organizer) , used to have John's job at IBM. John "provides global business leadership for a multi-billion dollar annual revenue portion of the IBM software business" - so apparently he's doing pretty well.

After Soyring's talk, I attended Bill Dudney's Introducing Cayenne presentation. I didn't listen as good I should have (notice the timestamp on the AppFuse 1.9.4 Release), but I did learn that the Demo Gods were having a case of the Mondays. After lunch, my Seven Simple Reasons to use AppFuse talk started at 1:00. It was the first time I'd presented the talk, so I didn't know how long it'd go. The first demo worked, the second one bombed. I shoulda typed @spring.validator type="required" instead of @spring.validator required="true". Oh well.

This afternoon, I went to Mike Bowler's Ruby for Java Programmers talk. I was a bit late, but it was an excellent presentation. I'd recommend it to anyone. That raps up Day 1, tomorrow I hope to hit Event Driven Architecture with Apache ActiveMQ and POJOs and To ESB or Not to ESB.

Posted in Java at Oct 23 2006, 06:30:59 PM MDT 1 Comment