« Back to home

Inspired by the Spring with Stripes integration I decided to make one for Java EE: Stripes Injection Enricher. Stripes Injection Enricher enriches Stripes Framework objects by satisfying injection points specified declaratively using annotations. There are three injection-based enrichers provided by Stripes Injection Enricher out of the box: @Resource - Java EE resource injections @EJB - EJB session bean reference injections @Inject - CDI injections The source code is available on GitHub at StripesFramework/stripes-injection-enricher.…

Read more »

In my current web project I was having some performance issues, I needed a tool that allowed me to do some testing so I can see what’s wrong and what I can do better so my application perform faster. My search lead me to High Performance Web Sites and YSlow, a very good talk by Steve Souders the Chief Performance Yahoo! at Yahoo! YSlow is an easy-for-use plugin that allows you to inspect any web page just clicking a button.…

Read more »

After googling a bit for error “java.lang.OutOfMemoryError: PermGen space” I found many sites talking about that problem. Some tried passing command line arguments to the JVM or changing the size of the PermGen space, others end up recommending using a VM from BEA or IBM, all without success. But after a closer look at their comments I ended up at Frank Kieviet blog. Frank explains what really is a PermGen error…

Read more »

Coding conventions are rules that computer programmers follow to ensure that their source code is easy to read and maintain. Why is that important? Sun Microsystems provides the following rationale for the Java Programming Language: Code conventions are important to programmers for a number of reasons: 80% of the lifetime cost of a piece of software goes to maintenance. Hardly any software is maintained for its whole life by the original author.…

Read more »

The Maven 2 Cobertura Plugin web site lacks information to successfully generate Cobertura reports. Worse, some of the usage examples are incorrect and don’t work. The most common problem when generating Cobertura reports is when the generated report shows 100% test coverage while in reality many of the classes don’t even have tests. The following example shows how to configure the reports so that it would reflect real test coverage and then check if the specified packages achieved the wanted test coverage:…

Read more »

Sometimes no single login module is enough to meet our needs. Imagine the case of using an external LDAP server to provide the user authentication and a database server to provide the user authorization. A user would be in one repository or the other, and login should succeed if the user is found in either repository. JBoss allows you to specify multiple login modules for a single security domain. But simple module stacking doesn’t resolve the problem on its own.…

Read more »

Werner Schuster posted at InfoQ an article entitled “Microsoft Surpasses Java’s Dynamic Language Support” trying to show where .NET is doing better than Java. Some of the highlights are: Microsoft CLR (Common Language Runtime), LINQ and the support for multiple languages DLR (Dynamic Language Runtime) .NET modularization and versioning…

Read more »

I’ve created the project Secure JSP Taglibs with the ambition to fill some gaps in the security of the presentation layer in a Java web application. This Taglib allows you to evaluate the nested body content of the tag to test if the user has the specified roles. This is equivalent to the isUserInRole() method, but you can evaluate multiple roles (comma separated) at the same time. <secure:one roles="role1toevaluate, role2toevaluate"> Show this content if the user has one of the specified roles.…

Read more »

Reading the TheServerSide.COM news I’ve found a comparison’s article between Stripes and JSF frameworks. I can’t agree more with the author Gregg Bolinger when he says Since I stumbled on Stripes, I’ve found it to be the best all around framework for my purposes. Read it at “Stripes and JSF: A Brief Comparison”.…

Read more »