I have the same problem in jboss 5.1.0.GA.
Found that XADataSourceDeploymentMetaData is setting 'XADataSourceProperties' property with pattern:
name+ "=" + value+ "\n".
So if you define:
<xa-datasource-property name="ImplicitCachingEnabled">true</xa-datasource-property>
<xa-datasource-property name="MaxStatements">32</xa-datasource-property>
<xa-datasource-property name="ConnectionProperties">defaultRowPrefetch=100\noracle.jdbc.StreamBufferSize=30</xa-datasource-property>
it will set: XADataSourceProperties="ImplicitCachingEnabled=true\nMaxStatements=32\nConnectionProperties=defaultRowPrefetch=100\noracle.jdbc.StreamBufferSize=30"
and setting properties on OracleXADS will be:
xds.setImplicitCachingEnabled(true);
xds.setMaxStatements(32);
xds.setConnectionProperties(java.util.Properties(defaultRowPrefetch=100));
xds.setOracle.jdbc.StreamBufferSize(30); <- !! no such method exception!
as we expect:
xds.setImplicitCachingEnabled(true);
xds.setMaxStatements(32);
xds.setConnectionProperties(java.util.Properties(defaultRowPrefetch=100,oracle.jdbc.StreamBufferSize=30));
I didn't found any workaroud for this problem.
OracleXADataSource API is broken and only way is to JBoss will take care of it :)