All,
I had a WAR that was written to access the OS filesystem directly (without going through wildlfy ResourceAdapater) and it looked like it was causing a memory leak and crashing our system. I could never get XADisk to work as a JCA Adapter (
https://groups.google.com/forum/#!topic/xadisk/GPBFPfbvKEQ) but did manage to get it to run inside a war by using StandaloneFileSystemConfiguration like this..
StandaloneFileSystemConfiguration configuration = new StandaloneFileSystemConfiguration(appdataRoot + File.separator + "mpd-xadisk", "id-1");
xafs = XAFileSystemProxy.bootNativeXAFileSystem(configuration);
logger.trace("\nBooting XADisk...\n");
try {
context = JAXBContext.newInstance(new Class[]{aobjectFactory.getClass()});
xafs.waitForBootup(-1L);
logger.trace("\nXADisk is now available for use.\n");
} catch (InterruptedException var2) {
var2.printStackTrace();
} catch (JAXBException var3) {
var3.printStackTrace();
}
By doing so it looks like my memory leak is gone. Can someone tell me if I am still compliant with my Wildfly 8.2 appserver. I did find
"When XADisk is not used as a JCA Resource Adapter, XADisk uses its own thin implementation of WorkManager
(which is otherwise available from the JavaEE Server due to JCA contract). This WorkManager implementation relies on a JDK utility called ThreadPoolExecutor
."
in the java doc but what does that mean in really basic terms? Do I have to deploy XADisk as XADiskConnection?
Thanks in advance.