The observer method is actually not called multiple times. There are two observer methods and each is called exactly once.
Actually, when you create an @Alternative bean, you're not redefining the original bean at all. Both beans are enabled and in certain special cases you may still get the original bean injected into an injection point (see http://docs.jboss.org/weld/reference/1.1.0.Final/en-US/html/specialization.html#d0e4382)
If the original bean declares an observer method, this method will still be called even if there's an enabled alternative bean.
If you want to completely redefine a bean, you should use @Specializes.
The observer method is actually not called multiple times. There are two observer methods and each is called exactly once.
Actually, when you create an @Alternative bean, you're not redefining the original bean at all. Both beans are enabled and in certain special cases you may still get the original bean injected into an injection point (see http://docs.jboss.org/weld/reference/1.1.0.Final/en-US/html/specialization.html#d0e4382)
If the original bean declares an observer method, this method will still be called even if there's an enabled alternative bean.
If you want to completely redefine a bean, you should use @Specializes.