You set this in your -ds.xml file.
Code:
<xa-datasource>
<jndi-name>PortalDS</jndi-name>
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
<xa-datasource-property name="ServerName">zorba</xa-datasource-property>
<xa-datasource-property name="Port">3326</xa-datasource-property>
<xa-datasource-property name="DatabaseName">test</xa-datasource-property>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<user-name>uu</user-name>
<password>pp</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>5</idle-timeout-minutes>
<exception-sorter-class-name>com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter</exception-sorter-class-name>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</xa-datasource>
It is basically the same.
In EJB3 you are referencing to the JNDI bound DataSource.
If that DS is XA, JPA cares just about getting the connection and using JTA - it knows nothing about XA - that's JTA's job.