I'm working with the Real Time Specification for Java under Ubuntu 10.04 with the RT patch installed.
I had read RTSJ defines 30 priority levels, but I've tried in my system and I have 47 levels,
PriorityScheduler.getMinPriority(null) // priority = 11
PriorityScheduler.getMaxPriority(null) // priority = 58
As far as i now, RTSJ only says that the implementation should have at least 28 priority levels, so 47 is a valid number. It doesn't specify a maximum number though, but implementations are encouraged to have as many levels as possible