1) The fact that we are already having almost more than 200 message ids
for EJB subsystem alone makes it look like a bit too much IMO. Looking
at many of those messages, they are sometimes related to invalid
arguments being passed to methods and we throwing
IllegalArgumentException with a specific message id. Unfortunately, this
appears to be repeated many times with different ids with a different
message instead of just having a common id/message (perhaps across
subsystems).
I'd leave it fine-grained, as it will help users find a solution for the specific situation/argument. my2c