Hello Lucas, Hello Stelios
Sorry, somehow I missed this thread.
Stelios, I guess you were aiming to have XADisk work in JCA style
without the standard JCA container; would XADisk Session/XASession not
serve the purpose for you?
Lucas, I have attempted a very basic example of doing XADisk in
Spring. See if this helps.
________________________________________________________________________________________________________________________________
<default-package>/Beans.xml
--------------------------------------------
<bean id="xaStartupConfig"
class="org.xadisk.filesystem.standalone.StandaloneFileSystemConfiguration">
<constructor-arg index="0" value="C:\\XADiskSystem"/>
<constructor-arg index="1" value="id-1"/>
</bean>
<bean id="xaDiskNativeFS"
class="org.xadisk.filesystem.NativeXAFileSystem"
factory-method="bootXAFileSystemStandAlone">
<constructor-arg ref="xaStartupConfig"/>
</bean>
</beans>
________________________________________________________________________________________________________________________________
xadiskandspring/Main.java
--------------------------------------
package xadiskandspring;
import java.io.File;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.xadisk.bridge.proxies.interfaces.Session;
import org.xadisk.bridge.proxies.interfaces.XAFileSystem;
public class Main {
public static void main(String[] args) {
final File testDirectory = new File("C:\\test");
final File testFile1 = new File(testDirectory, "a.txt");
final File testFile2 = new File(testDirectory, "b.txt");
final File testFileTemp = new File(testDirectory, "temp.txt");
try {
XmlBeanFactory beanFactory = new XmlBeanFactory(new
ClassPathResource("Beans.xml"));
XAFileSystem xafs = (XAFileSystem)
beanFactory.getBean("xaDiskNativeFS");
xafs.waitForBootup(-1);
Session session = xafs.createSessionForLocalTransaction();
session.createFile(testFile1, false);
session.createFile(testFileTemp, false);
session.moveFile(testFileTemp, testFile2);
session.commit();
xafs.shutdown();
} catch (Exception e) {
e.printStackTrace();
}
}
}
________________________________________________________________________