Adrian brought up a need for a flexible expired message handler. Sort of like the new DLQHandler as part of the JCA 1.5 deployer. I don't really think one is necessary.
I can understand why you would want a more sophisticated DLQHandler. The biggest is, it's designed to work with different messaging providers, not just JBoss. JBoss uses message headers to track how many times a message was redelivered, other providers don't. Another is, there are different policy decisions to be made when a message is redelivered; e.g. drop the message, log it, try 5 times if X, only 10 if Y.
When a message expires, you either want to do stuff with it or not. What sort of stuff? Log a message to server.log, send out an e-mail, redeliver it, archive it, etc. I think the right API for users to use is the JMS API. And what the server should simply do is move the expired messages into a configured queue. So, to this end JBoss should provide a simple configuration key for redirection and not confront the user with a complicated plug-in configuration system.