Wie verhindere ich, dass CFEXECUTE nach einem PrintStackTrace hängen bleibt?

Ich verwende ColdFusion MX7, um eine CFEXECUTE für Java 6-Code auszuführen.

Da CF7 unter JDK 6 leider nicht funktioniert, muss ich das so machen.

Mein Problem ist, dass, wenn eine Ausnahme im Java-Code auftritt, wenn ich a aufrufeprintStackTrace In der Ausnahme bleibt der Befehl CFEXECUTE hängen. Bei ColdFusion tritt eine Zeitüberschreitung auf, der Java-Prozess bleibt jedoch weiterhin im Hintergrund hängen.

Ich vermute, es gibt einige Blockierungen, aber ich kann nicht herausfinden, warum.

Wenn ich nicht macheprintStackTrace dann funktioniert alles gut.

Die Ausnahmen sind WebService-Ausnahmen, die mit JAXWS von der Oracle Information Rights Management-WSDL generiert wurden.

BEARBEITEN

Mir ist aufgefallen, dass ich die anrufen kannprintStackTrace mit einer DateiPrintStream als Parameter und es funktioniert gut. Es sieht also so aus, als ob der Fehlerstrom Probleme hat.

Hier ist der Java-Code:

<code>public void Execute(){
    AdminUtils AU = AdminUtils.GetInstance();

    AccountServicesPort AA = AU.GetAccountServicesPort(); 

    LicenseServerRef LicSerRef = AU.GetLicenseServerRef();

    User UserToSave = new User();
    UserToSave.setUserName(UserName);
    UserToSave.setFirstName(FirstName);
    UserToSave.setLastName(LastName);
    UserToSave.setEmailAddress(EmailAddress);
    UserToSave.setServer(LicSerRef);

    try{
        AU.LogMessage("Change User: " + UserName + " " + FirstName + " " + LastName + " " + EmailAddress);
        AA.saveChangesToUser(UserToSave);
    }catch(Exception e){
        e.printStackTrace();
    }
}
</code>

Hier ist der ColdFusion-Aufruf:

<code><!--- Update the IRM User. --->
<CFEXECUTE name="c:\Program Files\Java\jdk1.6.0_14\bin\javaw.exe"
           arguments="-cp C:\CFusionMX7\Externals\IRM.jar;C:\CFusionMX7\Externals\Config IRMWebServices.UpdateUser #LoginID# #NewFname# #NewLname#"
           timeout="15" 
           variable="OUTPUT">
</CFEXECUTE>
</code>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage