CDI @Alternative Info
The @Alternative CDI annotation allows you to have multiple matching dependencies for a given injection point. This means you can define beans that provide implementations for the same interface without worrying about ambigious dependency errors. When you mark a class with the @Alternative annotation, it is effectively disabled and cannot be considered for injection. The […]
Continue Reading...Binding Dynamic Multi-select Checkboxes with JSF
This tutorial looks at how JSF makes it easy to create a dynamic list of checkboxes that can be used to select values on the server. Given a list of strings, we want to display the list of values, each with a check box and be able to select or deselect that item from inclusion […]
Continue Reading...Slow Month
My wife is currently in hospital, and will be for the next week or two so I’ll be playing single dad for a while. As a result, I am slow responding to emails, and probably won’t be posting much this month. I will be checking email daily so I will see anything urgent that comes […]
Continue Reading...Releasing Maven Projects with Git(Hub) in Windows
In the process of moving some new and existing projects to GitHub and releasing them using Maven under Windows, I discovered a number of issues that can be tricky to get around. This post is for anyone else with the same problems, and for my own future reference. First off, most of these issues are […]
Continue Reading...JBoss 6.0.0 M5 Has Been Released
It looks like JBoss 6.0 milestone 5 has just been released. Not that anyone would know it since they haven’t announced it anywhere, I just saw Aslak Knutsen tweet it. Dan Allen also posted slides from his JavaOne presentation on Weld and the future of Seam.
Continue Reading...Do we need to Giftwrap Shrinkwrap?
I’ve been working on a bit of a framework to make it easier to write test archives for Arquillian based on Shrinkwrap. This post is a summary of the work so far and hopefully with some feedback, specifically on where ShrinkWrap is going, I can determine whether to polish it up and release it or […]
Continue Reading...CDI Conversations part 2
This article will look at using the Conversation scope defined in JSR 299 (Java Contexts and Dependency Injection), and released as part of Java EE 6. For now, we’ll stick to non-data driven examples as we explore the ins and outs of the Conversation scope. We’ll finish up by creating a workspace manager so we […]
Continue Reading...JSF Basics
This is a brief tutorial that takes a quick look at some of the very basics of JSF, how we define pages and hook them up to server side objects. Rather than cover the fundamentals of starting a new JSF application, I’m going to start from one of the Knappsack archetypes which can provide you […]
Continue Reading...Why Picking Technology is Hard
I think choosing a framework is hard because no framework is perfect. Every framework under consideration is like a Porsche with a gaping hole in the side that just ruins it. The very act of choosing a framework means that you are knowingly accepting every little ugly wart and blemish of that framework, and explicitly […]
Continue Reading...My Framework Picks
When I talked about how Context Matters When Discussing Frameworks I intentionally left out naming any picks because the point of that article wasn’t to start a framework debate (neither is this one, but at least it will get isolated in here). In this post, I’ll cover my choice of frameworks.
Continue Reading...