¿Cómo evito que CFEXECUTE se cuelgue después de un PrintStackTrace?

Estoy usando ColdFusion MX7 para realizar un CFEXECUTE en algún código Java 6.

Desafortunadamente, dado que CF7 no funciona bajo JDK 6, debo hacerlo de esta manera.

Mi problema es que cuando ocurre una excepción en el código Java si llamo aprintStackTrace en la excepción el comando CFEXECUTE se cuelga. ColdFusion eventualmente se agota, pero el proceso de Java continúa colgando en segundo plano.

Supongo que hay algún bloqueo en marcha pero parece que no puedo entender por qué.

Si no hago unprintStackTrace entonces todo funciona bien.

Las excepciones son excepciones de servicio web generadas con JAXWS desde el wsdl de Oracle Information Rights Management.

EDITAR

Noté que soy capaz de llamar alprintStackTrace con un archivoPrintStream como parámetro y funciona bien. Por lo tanto, parece que la secuencia de errores está teniendo problemas.

Aquí está el código de Java:

<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>

Aquí está la llamada de ColdFusion:

<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>

Respuestas a la pregunta(1)

Su respuesta a la pregunta