2

Message Broker8とMQ7を使用しています。メッセージフローでマッピングノードを使用しようとすると、java.lang.RuntimeExceptionが発生します。

イベントビューアに表示される内容は次のとおりです。

( BROKER8.default ) The map script generation for QName ''{practica}:CambioFecha'' has failed, with the following details: ''java.lang.RuntimeException: ''.   

The generation of the map has failed.   

Review and resolve the problems indicated in the message from the map generation.

完全な例外スタックは次のとおりです。

    ExceptionList: ( ['MQROOT' : 0xe052600]
      (0x01000000:Name):RecoverableException = (
        (0x03000000:NameValue):File                 = 'F:\build\S000_P\src\DataFlowEngine\PluginInterface\ImbJniNode.cpp' (CHARACTER)
        (0x03000000:NameValue):Line                 = 1170 (INTEGER)
        (0x03000000:NameValue):Function             = 'ImbJniNode::evaluate' (CHARACTER)
        (0x03000000:NameValue):Type                 = 'ComIbmMSLMappingNode' (CHARACTER)
        (0x03000000:NameValue):Name                 = 'practica/DATAGRAMA#FCMComposite_1_7' (CHARACTER)
        (0x03000000:NameValue):Label                = 'practica.DATAGRAMA.Cambio Formato Fecha' (CHARACTER)
        (0x03000000:NameValue):Catalog              = 'BIPmsgs' (CHARACTER)
        (0x03000000:NameValue):Severity             = 3 (INTEGER)
        (0x03000000:NameValue):Number               = 2230 (INTEGER)
        (0x03000000:NameValue):Text                 = 'Caught exception and rethrowing' (CHARACTER)
        (0x01000000:Name     ):RecoverableException = (
          (0x03000000:NameValue):File                 = 'MbErrorHandler.java' (CHARACTER)
          (0x03000000:NameValue):Line                 = 146 (INTEGER)
          (0x03000000:NameValue):Function             = 'evaluate' (CHARACTER)
          (0x03000000:NameValue):Type                 = '' (CHARACTER)
          (0x03000000:NameValue):Name                 = '' (CHARACTER)
          (0x03000000:NameValue):Label                = '' (CHARACTER)
          (0x03000000:NameValue):Catalog              = 'BIPmsgs' (CHARACTER)
          (0x03000000:NameValue):Severity             = 3 (INTEGER)
          (0x03000000:NameValue):Number               = 3946 (INTEGER)
          (0x03000000:NameValue):Text                 = 'Caught BrokerXCIStaticException' (CHARACTER)
          (0x01000000:Name     ):Insert               = (
            (0x03000000:NameValue):Type = 5 (INTEGER)
            (0x03000000:NameValue):Text = '{practica}:CambioFecha' (CHARACTER)
          )
          (0x01000000:Name     ):Insert               = (
            (0x03000000:NameValue):Type = 5 (INTEGER)
            (0x03000000:NameValue):Text = 'java.lang.RuntimeException: ' (CHARACTER)
          )
          (0x01000000:Name     ):RecoverableException = (
            (0x03000000:NameValue):File     = 'MbErrorHandler.java' (CHARACTER)
            (0x03000000:NameValue):Line     = 310 (INTEGER)
            (0x03000000:NameValue):Function = 'throwableToMbException' (CHARACTER)
            (0x03000000:NameValue):Type     = '' (CHARACTER)
            (0x03000000:NameValue):Name     = '' (CHARACTER)
            (0x03000000:NameValue):Label    = '' (CHARACTER)
            (0x03000000:NameValue):Catalog  = 'BIPmsgs' (CHARACTER)
            (0x03000000:NameValue):Severity = 3 (INTEGER)
            (0x03000000:NameValue):Number   = 3949 (INTEGER)
            (0x03000000:NameValue):Text     = 'Caught BrokerXCIStaticException' (CHARACTER)
            (0x01000000:Name     ):Insert   = (
              (0x03000000:NameValue):Type = 5 (INTEGER)
              (0x03000000:NameValue):Text = 'java.lang.RuntimeException: 

    ' (CHARACTER)
            )
          )
        )
      )
    )

メッセージフロー全体が正常に機能していました。ですから、マッピングノードのエラーではないと思います。別の詳細、他のフローでは、マッピングノードがまったく機能せず、同じエラーが発生します。何が問題なのかわかりません。たぶんJREエラー?

何か案が?

ありがとう!

Josué

4

1 に答える 1

6

これは、すべての参照が4バイト大きいため、64ビットマシンのJavaヒープサイズが大きいことが原因である可能性があります。それを機能させるには、32ビットブローカーで実行するか、次のいずれかを試すことができます-

  1. Xcompressedrefsを使用します(それについての説明はここにあります-

http://publib.boulder.ibm.com/infocenter/javasdk/v6r0/index.jsp?topic=%2Fcom.ibm.java.doc.diagnostics.60%2Fdiag%2Funderstanding%2Fmm_compressed_references.html

a)ブローカープロンプトで次のコマンドを実行します

mqsichangeproperties --broker name-- e --EG name-- -o ComIbmJVMManager -n jvmSystemProperty -v \ "-Xcompressedrefs \"

b)JVMオプションが正常に適用されていることを確認します

mqsireportproperties --broker name-- e --EG name-- -o ComIbmJVMManager -n jvmSystemProperty

システムは-を表示する必要があります

-Xcompressedrefs

c)実行グループを再起動します

  1. JVMメモリを増やします。デフォルトは256MBです。a)次のコマンドを実行します。

mqsichangeproperties --broker name-- e --EG name-- -o ComIbmJVMManager -n jvmMaxHeapSize -v 536870912

b)JVMオプションが正常に適用されていることを確認します

mqsireportproperties --broker name-- e --EG name-- -o ComIbmJVMManager -n jvmMaxHeapSize

c)実行グループを再起動します

お役に立てれば

于 2012-11-22T15:16:24.983 に答える