Hallo,
ich verwende in meinem Projekt die kostenlose AltovaXML Schnittstelle für Java.
Die ist sehr klein gehalten, hat aber alles was ich brauche und ist sehr leicht zu verstehen.
Nun habe ich ein Problem:
Nach aufruf meiner Funktion wird ein Prozess: AltovaXML_COM.exe aufgerufen.
Soweit so gut, ABER dieser Prozess beendet nicht. Ich habe also nach ein paar Funktionsaufrufe
einige AltovaXML_COM.exe Prozesse im Taskmanager die nicht schließen.
Selbst bei dem mitgelieferten Java-Beispiel von Altova beendet der Prozess nicht.
Kennt jemand die Schnittstelle und weiß Rat ?
Wäre echt cool wenn mir jemand weiterhelfen könnte. Diese 1000 Prozesse im Hintergrund ziehen stark an der Performance und sind unschön
Hier die URL http://www.altova.com/de/altovaxml.html
Hier der Beispiel Code von Altova
dieser "objXmlApp.releaseInstance();" soll glaub ich die sache schließen, tut es aber nicht.
Mfg Velow
ich verwende in meinem Projekt die kostenlose AltovaXML Schnittstelle für Java.
Die ist sehr klein gehalten, hat aber alles was ich brauche und ist sehr leicht zu verstehen.
Nun habe ich ein Problem:
Nach aufruf meiner Funktion wird ein Prozess: AltovaXML_COM.exe aufgerufen.
Soweit so gut, ABER dieser Prozess beendet nicht. Ich habe also nach ein paar Funktionsaufrufe
einige AltovaXML_COM.exe Prozesse im Taskmanager die nicht schließen.
Selbst bei dem mitgelieferten Java-Beispiel von Altova beendet der Prozess nicht.
Kennt jemand die Schnittstelle und weiß Rat ?
Wäre echt cool wenn mir jemand weiterhelfen könnte. Diese 1000 Prozesse im Hintergrund ziehen stark an der Performance und sind unschön
Hier die URL http://www.altova.com/de/altovaxml.html
Hier der Beispiel Code von Altova
Code:
import com.altova.engines.*;
import java.io.*;
/* Java usage example for AltovaXML
** Purpose:
** - Generate an AltovaXML application class
** - Use the validator class to check that the input instance is wellformed
** - Use the XQuery engine to copy the input instance
** note: for simplicity file names have been hardcoded, adjust the names as required.
** MAG Sept. 2006
*/
public class AltovaXMLJavaExample
{
public static void main(String[] args) {
String inFilename = "c:/program files/altova/altovaxml2007/AltovaXMLexamples/simple.xml";
String doesNotExist = "c:/program files/doesNotExist.xml";
String xqFilename = "c:/program files/altova/altovaxml2007/AltovaXMLexamples/CopyInput.xq";
String resultString;
System.out.println("AltovaXML Java JNI XQuery");
/* get application instance */
try {
IAltovaXMLFactory objXmlApp = AltovaXMLFactory.getInstance();
/* get Validator and XQ method pointers */
IXMLValidator val = objXmlApp.getXMLValidatorInstance();
IXQuery xq = objXmlApp.getXQueryInstance();
/*remove comments on line below to see error being caught*/
/*val.setInputXMLFileName(doesNotExist);*/
val.setInputXMLFileName(inFilename);
if (val.isWellFormed()) { /*if the file is wellformed copy it using XQuery*/
xq.setInputXMLFileName(inFilename);
xq.setXQueryFileName(xqFilename);
/* test return value */
resultString = xq.executeAndGetResultAsString();
if (resultString == null ) {
System.out.println("XQuery error : "
+ xq.getLastErrorMessage());
}
else{
System.out.println("Transform contents>>" + resultString );
}
}
else{
System.out.println("Not wellformed error>>" + val.getLastErrorMessage() );
}
/* release instance pointer */
objXmlApp.releaseInstance();
} catch (Exception e ) {
System.out.println("Error : " + e);
}
}
}
dieser "objXmlApp.releaseInstance();" soll glaub ich die sache schließen, tut es aber nicht.
Mfg Velow