Como faço para manter CFEXECUTE pendurado após um PrintStackTrace
Estou usando o ColdFusion MX7 para executar um CFEXECUTE em algum código Java 6.
Infelizmente, como o CF7 não funciona no JDK 6, preciso fazê-lo dessa maneira.
Meu problema é que quando uma exceção acontece no código Java se eu chamar umprintStackTrace
na exceção o comando CFEXECUTE trava. O ColdFusion eventualmente expira, mas o processo Java continua pendurado em segundo plano.
Eu estou supondo que há algum bloqueio acontecendo, mas eu não consigo descobrir o porquê.
Se eu não fizerprintStackTrace
então tudo funciona bem.
As exceções são exceções do WebService geradas com o JAXWS do wsdl do Oracle Information Rights Management.
EDITAR
Notei que eu sou capaz de chamar oprintStackTrace
com um arquivoPrintStream
como um parâmetro e funciona bem. Então, parece que o fluxo de erros está tendo problemas.
Aqui está o código 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>
Aqui está a chamada do 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>