We should allow ordering of bean instance injection using the Instance<MyBeanInterface> when an instance injection is used.
Developer always define a kind of chain of processor beans, which may need to run in specific order.
Using the Instance injection mechanism, a developer can inject multiple beans implementing the same interface and iterate of them. In order to ensure ordering, the developer could do one of the following:
This second option may be expensive if we have to order the beans everytime we execute the logic, and if this bean is applicationscoped, it wont make sense to do the ordering in the method call.
We already have javax.annotation.Priority or any cdi specific annotation which we can add to MyBeanInterfaceImpl so that on injection of an Instance<MyBeanInterface>, all possible injection values are sorted based on the Priority.value() and if no annotation is defined, defaults to Priority.value = Integer.MAX_VALUE