This
1. method1() is executing within a transaction context. It means, its transaction context attribute value must be one of: Required, Mandatory, Supported, RequiresNew. However, its caller does not have any transaction context. Therefore, the value cannot be Mandatory or Supported. It must be Required or RequiresNew.
should be:
1. method1() is executing within a transaction context. It means, its transaction context attribute value must be one of: Required, Mandatory, Supports, RequiresNew. However, its caller does not have any transaction context. Therefore, the value cannot be Mandatory or Supports. It must be Required or RequiresNew.
(JSR 318, Section 13.3.7)