  In this paper we analyze an $M/M/1$ queueing system with an arbitrary number
of customer classes, with class-dependent exponential service rates and
preemptive priorities between classes. The queuing system can be described by a
multi-dimensional Markov process, where the coordinates keep track of the
number of customers of each class in the system. Based on matrix-analytic
techniques and probabilistic arguments we develop a recursive method for the
exact determination of the equilibrium joint queue length distribution. The
method is applied to a spare parts logistics problem to illustrate the effect
of setting repair priorities on the performance of the system. We conclude by
briefly indicating how the method can be extended to an $M/M/1$ queueing system
with non-preemptive priorities between customer classes.
