A bean class is permitted to have more than one interface. If a bean class has more than one interface ... any business interface of the bean class must be explicitly designated a business interface of the bean by means of Local or Remote annotation.
However, I think GlassFish does not follow this rule:
Based on the JSR 318, we must put @Local annotation in XLocal and YLocal. However, without the @Local, it still works.