In Java PriorityQueues are implemented as heaps. So the compareTo() is evaluated at insertion time.
One of The problems you might be facing is that you may not be overriding the correct method (as others have pointed out). Add an @Override annotation to your compareTo() method and the compiler will tell you if you're not doing what you think you're doing (if you're using Java 1.5 or newer).
Here is code:
public class MyPosition implements Comparable<MyPosition>{
private Integer priority;
@Override
public int compareTo(MyPosition that) {
return this.priority.compareTo(that.priority);
}
}