mq-fte precall java失败了

时间:2012-10-24 10:34:31

标签: websphere-mq-fte

我正在使用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>

最好的问候

2 个答案:

答案 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会失败。

希望这会对某人有所帮助。

问候