22.214.171.124 jta-data-source, non-jta-data-source In Java EE environments, the jta-data-source and non-jta-data-source elements are used to specify the global JNDI name of the JTA and/or non-JTA data source to be used by the persistence provider. If neither is specified, the deployer must specify a JTA data source at deployment or a JTA data source must be provided by the container, and a JTA EntityManagerFactory will be created to correspond to it.
posted 1 year ago
I think the answer should be C as the application is deployed in multiple J2EE containers and we should remove all vendor specific properties.
Regarding to B, Java EE environment can support Resource Local transaction type.
126.96.36.199 Transaction type
In general, in Java EE environments, a transaction-type of RESOURCE_LOCAL assumes that non-JTA datasource will be provided. ...
7.5 Controlling Transactions
Both JTA entity manager and resource local entity managers are required to be supported in Java EE web containers and EJB container.
So, if that application in the question uses resource local transaction, Java EE container will support it. We don't need to remove Transaction_Type=RESOURCE_LOCAL in the persistence.xml.