我正在使用Websphere MQ 7.5实现FTE网络。
我开发了一个java程序,作为预先传输运行。 这是我的程序: 我已使用java.exe的路径更新了agent.properties文件 重启我的代理人 创造一个新的转移 在调用面板中,我配置了一个预先安装: 程序:java 参数:-jar c:\ PATH \ TO \ MY \ JAR \ myJar.jar myArgument
transfert失败,显示的错误就像java没有收到任何参数。
当我在Windows提示符下测试我的命令时,它可以工作。
此外,我的第一次尝试是运行包含java命令的批处理脚本,但它也不起作用。
我不想使用退出程序,因为该程序特定于转移。
编辑:我测试了一个简单的java -version命令,它可以工作。
<preSourceCall>
<command name="java" retryCount="0" retryWait="0" successRC="0" type="executable">
<argument>-jar C:\mqfteTest\ExitsJava.jar C:\mqfteTest\userExitTest\FileRef_20121023.txt</argument>
</command>
</preSourceCall>
返回错误:
<callResult outcome="failure" retries="0">
<result outcome="failure" returnCode="1" time="2012-10-24T12:39:52.419Z">
<stdout>
<line/>
<line>Syntaxe : java [-options] class [args...]</line>
<line> (pour l'ex‚cution d'une classe)</line>
<line> ou java [-jar] [-options] jarfile [args...]</line>
...
<line>JVMJ9VM007E Option de ligne de commande non identifiee : -jar C:\mqfteTest\ExitsJava.jar C:\mqfteTest\userExitTest\FileRef_20121023.txt</line>
<line>Could not create the Java virtual machine.</line>
</stderr>
最好的问候
答案 0 :(得分:0)
我不太确定我是否理解了这个问题。假设您的目标是在传输开始之前调用Java类,您可以使用MFT退出来实现此目的。这是link到WMQ MFT v7.5示例源最终用户出口。
HTH
答案 1 :(得分:0)
我终于设法执行了我的预备:
对于Windows平台,我使用了一个批处理脚本,我将脚本和jar放在路径中没有空格的文件夹中。
我没有设法使用java命令并打开PMR来理解原因。
编辑:
最后我明白了为什么!! 事实上,所谓的“论证”(在precall conf中)实际上只是一个论点。
我还设法将我的预备件部署在iseries上。{/ p>
命令行是相同的,但shell的声明必须是
#!/QOpenSys/usr/bin/sh
用#!/ bin / sh wmq-fte 无法捕获程序的退出
现在一切都很好。
我还发现了一种奇怪的行为(针对另一个PMR):
当要发送的文件位于命令路径的子目录中时,transfert会失败。
希望这会对某人有所帮助。
问候