This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
Actually you cannot make a getRollBackOnly() call in a business method which has its transaction attribute set to "support" because you are never sure this method will be in a transaction. It can be in an "unspecified transaction context".
In general you can never call getRollbackOnly() in a business method which has its attribute set to supports, not supported, never. For this reason all the methods of a CMP must not have any methods with that kind of transaction attribute.