Hello,
here is the result of my first test :
deploy a service-jar in "META-INF/com.mycompany" openejb folder :
<?xml version="1.0" encoding="UTF-8"?>
<ServiceJar>
<ServiceProvider
id="XADiskProvider"
service="Resource"
types="javax.transaction.xa.XAResource"
class-name="org.xadisk.connector.outbound.XADiskManagedConnectionFactory">
</ServiceProvider>
</ServiceJar>
I am using XADiskManagedConnectionFactory because other factory cannot be loaded (constructor must have zero arguments for server to load it)
in openejb.xml, adding this :
<Connector id="FilerLive" provider="com.mycompany#XADiskProvider">
xaDiskHome D:/Temp/FilerXADiskSystem
instanceId 1
enableClusterMode false
clusterMasterPort 999
</Connector>
I added clusterMasterPort because I have the following error when openejb starts :
2014-11-17 17:12:11,381Z|DEBUG|main|Op.options|Using default 'openejb.tempclassloader.skip=none' Possible values are: none, annotations, enums or NONE or ALL
org.apache.xbean.recipe.ConstructionException: Unable to convert property value from java.lang.String to java.lang.Integer for injection public void org.xadisk.filesystem.FileSystemConfiguration.setClusterMasterPort(java.lang.Integer)
at org.apache.xbean.recipe.ObjectRecipe.setProperty(ObjectRecipe.java:503)
at org.apache.xbean.recipe.ObjectRecipe.setProperties(ObjectRecipe.java:371)
at org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:286)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
Do you think it is a bug of XADisk that don't know how to load this propertie ?
An other approach would be to declare something like this :
<Resource id="XADiskResourceAdapter-1" type="org.xadisk.connector.XADiskResourceAdapter">
xaDiskHome D:/Temp/FilerXADiskSystem
instanceId 1
...
</Resource>
Is the class org.xadisk.connector.XADiskResourceAdapter th good one ?