Uploaded image for project: 'Pentaho Data Integration - Kettle'
  1. Pentaho Data Integration - Kettle
  2. PDI-19316

JMS producer/consumer steps in PDI 9.2 CE does not with ActiveMQ 5.16.3

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Severity: Unknown
    • Resolution: Unresolved
    • Affects Version/s: 9.2.0 GA
    • Fix Version/s: None
    • Component/s: Step
    • Labels:
      None
    • Environment:
      OpenJDK 8
    • Story Points:
      0
    • PDI Sub-component:
    • Notice:
      When an issue is open, the "Fix Version/s" field conveys a target, not necessarily a commitment. When an issue is closed, the "Fix Version/s" field conveys the version that the issue was fixed in.
    • Operating System/s:
      Ubuntu 18.x
    • Steps to Reproduce:
      Hide

      1) Obtain ActiveMQ 5.16.3 and PDI 9.2 CE and execute them locally.

      2) Create a simple transformation for accessing ActiveMQ.

      consumer.ktr

      <?xml version="1.0" encoding="UTF-8"?>
      <transformation>
        <info>
          <name>consumer</name>
          <description/>
          <extended_description/>
          <trans_version/>
          <trans_type>Normal</trans_type>
          <directory>/</directory>
          <parameters>
          </parameters>
          <log>
            <trans-log-table>
              <connection/>
              <schema/>
              <table/>
              <size_limit_lines/>
              <interval/>
              <timeout_days/>
              <field>
                <id>ID_BATCH</id>
                <enabled>Y</enabled>
                <name>ID_BATCH</name>
              </field>
              <field>
                <id>CHANNEL_ID</id>
                <enabled>Y</enabled>
                <name>CHANNEL_ID</name>
              </field>
              <field>
                <id>TRANSNAME</id>
                <enabled>Y</enabled>
                <name>TRANSNAME</name>
              </field>
              <field>
                <id>STATUS</id>
                <enabled>Y</enabled>
                <name>STATUS</name>
              </field>
              <field>
                <id>LINES_READ</id>
                <enabled>Y</enabled>
                <name>LINES_READ</name>
                <subject/>
              </field>
              <field>
                <id>LINES_WRITTEN</id>
                <enabled>Y</enabled>
                <name>LINES_WRITTEN</name>
                <subject/>
              </field>
              <field>
                <id>LINES_UPDATED</id>
                <enabled>Y</enabled>
                <name>LINES_UPDATED</name>
                <subject/>
              </field>
              <field>
                <id>LINES_INPUT</id>
                <enabled>Y</enabled>
                <name>LINES_INPUT</name>
                <subject/>
              </field>
              <field>
                <id>LINES_OUTPUT</id>
                <enabled>Y</enabled>
                <name>LINES_OUTPUT</name>
                <subject/>
              </field>
              <field>
                <id>LINES_REJECTED</id>
                <enabled>Y</enabled>
                <name>LINES_REJECTED</name>
                <subject/>
              </field>
              <field>
                <id>ERRORS</id>
                <enabled>Y</enabled>
                <name>ERRORS</name>
              </field>
              <field>
                <id>STARTDATE</id>
                <enabled>Y</enabled>
                <name>STARTDATE</name>
              </field>
              <field>
                <id>ENDDATE</id>
                <enabled>Y</enabled>
                <name>ENDDATE</name>
              </field>
              <field>
                <id>LOGDATE</id>
                <enabled>Y</enabled>
                <name>LOGDATE</name>
              </field>
              <field>
                <id>DEPDATE</id>
                <enabled>Y</enabled>
                <name>DEPDATE</name>
              </field>
              <field>
                <id>REPLAYDATE</id>
                <enabled>Y</enabled>
                <name>REPLAYDATE</name>
              </field>
              <field>
                <id>LOG_FIELD</id>
                <enabled>Y</enabled>
                <name>LOG_FIELD</name>
              </field>
              <field>
                <id>EXECUTING_SERVER</id>
                <enabled>N</enabled>
                <name>EXECUTING_SERVER</name>
              </field>
              <field>
                <id>EXECUTING_USER</id>
                <enabled>N</enabled>
                <name>EXECUTING_USER</name>
              </field>
              <field>
                <id>CLIENT</id>
                <enabled>N</enabled>
                <name>CLIENT</name>
              </field>
            </trans-log-table>
            <perf-log-table>
              <connection/>
              <schema/>
              <table/>
              <interval/>
              <timeout_days/>
              <field>
                <id>ID_BATCH</id>
                <enabled>Y</enabled>
                <name>ID_BATCH</name>
              </field>
              <field>
                <id>SEQ_NR</id>
                <enabled>Y</enabled>
                <name>SEQ_NR</name>
              </field>
              <field>
                <id>LOGDATE</id>
                <enabled>Y</enabled>
                <name>LOGDATE</name>
              </field>
              <field>
                <id>TRANSNAME</id>
                <enabled>Y</enabled>
                <name>TRANSNAME</name>
              </field>
              <field>
                <id>STEPNAME</id>
                <enabled>Y</enabled>
                <name>STEPNAME</name>
              </field>
              <field>
                <id>STEP_COPY</id>
                <enabled>Y</enabled>
                <name>STEP_COPY</name>
              </field>
              <field>
                <id>LINES_READ</id>
                <enabled>Y</enabled>
                <name>LINES_READ</name>
              </field>
              <field>
                <id>LINES_WRITTEN</id>
                <enabled>Y</enabled>
                <name>LINES_WRITTEN</name>
              </field>
              <field>
                <id>LINES_UPDATED</id>
                <enabled>Y</enabled>
                <name>LINES_UPDATED</name>
              </field>
              <field>
                <id>LINES_INPUT</id>
                <enabled>Y</enabled>
                <name>LINES_INPUT</name>
              </field>
              <field>
                <id>LINES_OUTPUT</id>
                <enabled>Y</enabled>
                <name>LINES_OUTPUT</name>
              </field>
              <field>
                <id>LINES_REJECTED</id>
                <enabled>Y</enabled>
                <name>LINES_REJECTED</name>
              </field>
              <field>
                <id>ERRORS</id>
                <enabled>Y</enabled>
                <name>ERRORS</name>
              </field>
              <field>
                <id>INPUT_BUFFER_ROWS</id>
                <enabled>Y</enabled>
                <name>INPUT_BUFFER_ROWS</name>
              </field>
              <field>
                <id>OUTPUT_BUFFER_ROWS</id>
                <enabled>Y</enabled>
                <name>OUTPUT_BUFFER_ROWS</name>
              </field>
            </perf-log-table>
            <channel-log-table>
              <connection/>
              <schema/>
              <table/>
              <timeout_days/>
              <field>
                <id>ID_BATCH</id>
                <enabled>Y</enabled>
                <name>ID_BATCH</name>
              </field>
              <field>
                <id>CHANNEL_ID</id>
                <enabled>Y</enabled>
                <name>CHANNEL_ID</name>
              </field>
              <field>
                <id>LOG_DATE</id>
                <enabled>Y</enabled>
                <name>LOG_DATE</name>
              </field>
              <field>
                <id>LOGGING_OBJECT_TYPE</id>
                <enabled>Y</enabled>
                <name>LOGGING_OBJECT_TYPE</name>
              </field>
              <field>
                <id>OBJECT_NAME</id>
                <enabled>Y</enabled>
                <name>OBJECT_NAME</name>
              </field>
              <field>
                <id>OBJECT_COPY</id>
                <enabled>Y</enabled>
                <name>OBJECT_COPY</name>
              </field>
              <field>
                <id>REPOSITORY_DIRECTORY</id>
                <enabled>Y</enabled>
                <name>REPOSITORY_DIRECTORY</name>
              </field>
              <field>
                <id>FILENAME</id>
                <enabled>Y</enabled>
                <name>FILENAME</name>
              </field>
              <field>
                <id>OBJECT_ID</id>
                <enabled>Y</enabled>
                <name>OBJECT_ID</name>
              </field>
              <field>
                <id>OBJECT_REVISION</id>
                <enabled>Y</enabled>
                <name>OBJECT_REVISION</name>
              </field>
              <field>
                <id>PARENT_CHANNEL_ID</id>
                <enabled>Y</enabled>
                <name>PARENT_CHANNEL_ID</name>
              </field>
              <field>
                <id>ROOT_CHANNEL_ID</id>
                <enabled>Y</enabled>
                <name>ROOT_CHANNEL_ID</name>
              </field>
            </channel-log-table>
            <step-log-table>
              <connection/>
              <schema/>
              <table/>
              <timeout_days/>
              <field>
                <id>ID_BATCH</id>
                <enabled>Y</enabled>
                <name>ID_BATCH</name>
              </field>
              <field>
                <id>CHANNEL_ID</id>
                <enabled>Y</enabled>
                <name>CHANNEL_ID</name>
              </field>
              <field>
                <id>LOG_DATE</id>
                <enabled>Y</enabled>
                <name>LOG_DATE</name>
              </field>
              <field>
                <id>TRANSNAME</id>
                <enabled>Y</enabled>
                <name>TRANSNAME</name>
              </field>
              <field>
                <id>STEPNAME</id>
                <enabled>Y</enabled>
                <name>STEPNAME</name>
              </field>
              <field>
                <id>STEP_COPY</id>
                <enabled>Y</enabled>
                <name>STEP_COPY</name>
              </field>
              <field>
                <id>LINES_READ</id>
                <enabled>Y</enabled>
                <name>LINES_READ</name>
              </field>
              <field>
                <id>LINES_WRITTEN</id>
                <enabled>Y</enabled>
                <name>LINES_WRITTEN</name>
              </field>
              <field>
                <id>LINES_UPDATED</id>
                <enabled>Y</enabled>
                <name>LINES_UPDATED</name>
              </field>
              <field>
                <id>LINES_INPUT</id>
                <enabled>Y</enabled>
                <name>LINES_INPUT</name>
              </field>
              <field>
                <id>LINES_OUTPUT</id>
                <enabled>Y</enabled>
                <name>LINES_OUTPUT</name>
              </field>
              <field>
                <id>LINES_REJECTED</id>
                <enabled>Y</enabled>
                <name>LINES_REJECTED</name>
              </field>
              <field>
                <id>ERRORS</id>
                <enabled>Y</enabled>
                <name>ERRORS</name>
              </field>
              <field>
                <id>LOG_FIELD</id>
                <enabled>N</enabled>
                <name>LOG_FIELD</name>
              </field>
            </step-log-table>
            <metrics-log-table>
              <connection/>
              <schema/>
              <table/>
              <timeout_days/>
              <field>
                <id>ID_BATCH</id>
                <enabled>Y</enabled>
                <name>ID_BATCH</name>
              </field>
              <field>
                <id>CHANNEL_ID</id>
                <enabled>Y</enabled>
                <name>CHANNEL_ID</name>
              </field>
              <field>
                <id>LOG_DATE</id>
                <enabled>Y</enabled>
                <name>LOG_DATE</name>
              </field>
              <field>
                <id>METRICS_DATE</id>
                <enabled>Y</enabled>
                <name>METRICS_DATE</name>
              </field>
              <field>
                <id>METRICS_CODE</id>
                <enabled>Y</enabled>
                <name>METRICS_CODE</name>
              </field>
              <field>
                <id>METRICS_DESCRIPTION</id>
                <enabled>Y</enabled>
                <name>METRICS_DESCRIPTION</name>
              </field>
              <field>
                <id>METRICS_SUBJECT</id>
                <enabled>Y</enabled>
                <name>METRICS_SUBJECT</name>
              </field>
              <field>
                <id>METRICS_TYPE</id>
                <enabled>Y</enabled>
                <name>METRICS_TYPE</name>
              </field>
              <field>
                <id>METRICS_VALUE</id>
                <enabled>Y</enabled>
                <name>METRICS_VALUE</name>
              </field>
            </metrics-log-table>
          </log>
          <maxdate>
            <connection/>
            <table/>
            <field/>
            <offset>0.0</offset>
            <maxdiff>0.0</maxdiff>
          </maxdate>
          <size_rowset>10000</size_rowset>
          <sleep_time_empty>50</sleep_time_empty>
          <sleep_time_full>50</sleep_time_full>
          <unique_connections>N</unique_connections>
          <feedback_shown>Y</feedback_shown>
          <feedback_size>50000</feedback_size>
          <using_thread_priorities>Y</using_thread_priorities>
          <shared_objects_file/>
          <capture_step_performance>N</capture_step_performance>
          <step_performance_capturing_delay>1000</step_performance_capturing_delay>
          <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
          <dependencies>
          </dependencies>
          <partitionschemas>
          </partitionschemas>
          <slaveservers>
          </slaveservers>
          <clusterschemas>
          </clusterschemas>
          <created_user>-</created_user>
          <created_date>2021/09/03 13:28:21.568</created_date>
          <modified_user>-</modified_user>
          <modified_date>2021/09/03 13:28:21.568</modified_date>
          <key_for_session_key/>
          <is_key_private>N</is_key_private>
        </info>
        <notepads>
        </notepads>
        <order>
        </order>
        <step>
          <name>JMS consumer</name>
          <type>Jms2Consumer</type>
          <description/>
          <distribute>Y</distribute>
          <custom_distribution/>
          <copies>1</copies>
          <partitioning>
            <method>none</method>
            <schema_name/>
          </partitioning>
          <step-props secure="IBMMQ_PASSWORD AMQ_PASSWORD SSL_KEYSTORE_PASSWORD SSL_TRUSTSTORE_PASSWORD">
            <group name="">
              <property group="" name="DESTINATION">
                <value xsi:type="xs:string">examples</value>
              </property>
              <property group="" name="IBMMQ_URL">
                <value xsi:type="xs:string"/>
              </property>
              <property group="" name="IBMMQ_USERNAME">
                <value xsi:type="xs:string"/>
              </property>
              <property group="" name="IBMMQ_PASSWORD">
                <value xsi:type="xs:string"/>
              </property>
              <property group="" name="AMQ_URL">
                <value xsi:type="xs:string">tcp://localhost:61616?wireFormat.maxFrameSize=104857600</value>
              </property>
              <property group="" name="AMQ_USERNAME">
                <value xsi:type="xs:string">admin</value>
              </property>
              <property group="" name="AMQ_PASSWORD">
                <value xsi:type="xs:string">Encrypted 2be98afc86aa7f2e4cb79ce71da9fa6d4</value>
              </property>
              <property group="" name="CONNECTION_TYPE">
                <value xsi:type="xs:string">ACTIVEMQ</value>
              </property>
              <property group="" name="DESTINATION_TYPE">
                <value xsi:type="xs:string">QUEUE</value>
              </property>
              <property group="" name="RECEIVE_TIMEOUT">
                <value xsi:type="xs:string">10</value>
              </property>
              <property group="" name="MESSAGE_FIELD_NAME">
                <value xsi:type="xs:string">message</value>
              </property>
              <property group="" name="DESTINATION_FIELD_NAME">
                <value xsi:type="xs:string">destination</value>
              </property>
              <property group="" name="MESSAGE_ID">
                <value xsi:type="xs:string">messageId</value>
              </property>
              <property group="" name="JMS_TIMESTAMP">
                <value xsi:type="xs:string">jmsTimestamp</value>
              </property>
              <property group="" name="JMS_REDELIVERED">
                <value xsi:type="xs:string">jmsRedelivered</value>
              </property>
              <property group="" name="TRANSFORMATION_PATH">
                <value xsi:type="xs:string">${Internal.Entry.Current.Directory}/stream.ktr</value>
              </property>
              <property group="" name="NUM_MESSAGES">
                <value xsi:type="xs:string">100</value>
              </property>
              <property group="" name="PREFETCH_COUNT">
                <value xsi:type="xs:string">1000</value>
              </property>
              <property group="" name="DURATION">
                <value xsi:type="xs:string">100</value>
              </property>
              <property group="" name="SUB_STEP">
                <value xsi:type="xs:string"/>
              </property>
              <property group="" name="PARALLELISM">
                <value xsi:type="xs:string">1</value>
              </property>
            </group>
            <group name="SSL_GROUP">
              <property group="SSL_GROUP" name="SSL_ENABLED">
                <value xsi:type="xs:boolean">false</value>
              </property>
              <property group="SSL_GROUP" name="SSL_KEYSTORE_PATH">
                <value xsi:type="xs:string"/>
              </property>
              <property group="SSL_GROUP" name="SSL_KEYSTORE_TYPE"/>
              <property group="SSL_GROUP" name="SSL_KEYSTORE_PASSWORD">
                <value xsi:type="xs:string"/>
              </property>
              <property group="SSL_GROUP" name="SSL_TRUSTSTORE_PATH">
                <value xsi:type="xs:string"/>
              </property>
              <property group="SSL_GROUP" name="SSL_TRUSTSTORE_TYPE"/>
              <property group="SSL_GROUP" name="SSL_TRUSTSTORE_PASSWORD">
                <value xsi:type="xs:string"/>
              </property>
              <property group="SSL_GROUP" name="SSL_CONTEXT_ALGORITHM">
                <value xsi:type="xs:string"/>
              </property>
              <property group="SSL_GROUP" name="SSL_CIPHERSUITE">
                <value xsi:type="xs:string"/>
              </property>
              <property group="SSL_GROUP" name="IBM_SSL_FIPSREQUIRED">
                <value xsi:type="xs:string"/>
              </property>
              <property group="SSL_GROUP" name="AMQ_SSL_PROVIDER">
                <value xsi:type="xs:string"/>
              </property>
              <property group="SSL_GROUP" name="AMQ_SSL_VERIFY_HOST">
                <value xsi:type="xs:string"/>
              </property>
              <property group="SSL_GROUP" name="AMQ_SSL_TRUST_ALL">
                <value xsi:type="xs:string"/>
              </property>
              <property group="SSL_GROUP" name="SSL_USE_DEFAULT_CONTEXT">
                <value xsi:type="xs:boolean">false</value>
              </property>
            </group>
          </step-props>
          <attributes/>
          <cluster_schema/>
          <remotesteps>
            <input>
            </input>
            <output>
            </output>
          </remotesteps>
          <GUI>
            <xloc>112</xloc>
            <yloc>112</yloc>
            <draw>Y</draw>
          </GUI>
        </step>
        <step_error_handling>
        </step_error_handling>
        <slave-step-copy-partition-distribution>
        </slave-step-copy-partition-distribution>
        <slave_transformation>N</slave_transformation>
        <attributes/>
      </transformation>
      

      stream.ktr

      <?xml version="1.0" encoding="UTF-8"?>
      <transformation>
        <info>
          <name>stream</name>
          <description/>
          <extended_description/>
          <trans_version/>
          <trans_type>Normal</trans_type>
          <directory>/</directory>
          <parameters>
          </parameters>
          <log>
            <trans-log-table>
              <connection/>
              <schema/>
              <table/>
              <size_limit_lines/>
              <interval/>
              <timeout_days/>
              <field>
                <id>ID_BATCH</id>
                <enabled>Y</enabled>
                <name>ID_BATCH</name>
              </field>
              <field>
                <id>CHANNEL_ID</id>
                <enabled>Y</enabled>
                <name>CHANNEL_ID</name>
              </field>
              <field>
                <id>TRANSNAME</id>
                <enabled>Y</enabled>
                <name>TRANSNAME</name>
              </field>
              <field>
                <id>STATUS</id>
                <enabled>Y</enabled>
                <name>STATUS</name>
              </field>
              <field>
                <id>LINES_READ</id>
                <enabled>Y</enabled>
                <name>LINES_READ</name>
                <subject/>
              </field>
              <field>
                <id>LINES_WRITTEN</id>
                <enabled>Y</enabled>
                <name>LINES_WRITTEN</name>
                <subject/>
              </field>
              <field>
                <id>LINES_UPDATED</id>
                <enabled>Y</enabled>
                <name>LINES_UPDATED</name>
                <subject/>
              </field>
              <field>
                <id>LINES_INPUT</id>
                <enabled>Y</enabled>
                <name>LINES_INPUT</name>
                <subject/>
              </field>
              <field>
                <id>LINES_OUTPUT</id>
                <enabled>Y</enabled>
                <name>LINES_OUTPUT</name>
                <subject/>
              </field>
              <field>
                <id>LINES_REJECTED</id>
                <enabled>Y</enabled>
                <name>LINES_REJECTED</name>
                <subject/>
              </field>
              <field>
                <id>ERRORS</id>
                <enabled>Y</enabled>
                <name>ERRORS</name>
              </field>
              <field>
                <id>STARTDATE</id>
                <enabled>Y</enabled>
                <name>STARTDATE</name>
              </field>
              <field>
                <id>ENDDATE</id>
                <enabled>Y</enabled>
                <name>ENDDATE</name>
              </field>
              <field>
                <id>LOGDATE</id>
                <enabled>Y</enabled>
                <name>LOGDATE</name>
              </field>
              <field>
                <id>DEPDATE</id>
                <enabled>Y</enabled>
                <name>DEPDATE</name>
              </field>
              <field>
                <id>REPLAYDATE</id>
                <enabled>Y</enabled>
                <name>REPLAYDATE</name>
              </field>
              <field>
                <id>LOG_FIELD</id>
                <enabled>Y</enabled>
                <name>LOG_FIELD</name>
              </field>
              <field>
                <id>EXECUTING_SERVER</id>
                <enabled>N</enabled>
                <name>EXECUTING_SERVER</name>
              </field>
              <field>
                <id>EXECUTING_USER</id>
                <enabled>N</enabled>
                <name>EXECUTING_USER</name>
              </field>
              <field>
                <id>CLIENT</id>
                <enabled>N</enabled>
                <name>CLIENT</name>
              </field>
            </trans-log-table>
            <perf-log-table>
              <connection/>
              <schema/>
              <table/>
              <interval/>
              <timeout_days/>
              <field>
                <id>ID_BATCH</id>
                <enabled>Y</enabled>
                <name>ID_BATCH</name>
              </field>
              <field>
                <id>SEQ_NR</id>
                <enabled>Y</enabled>
                <name>SEQ_NR</name>
              </field>
              <field>
                <id>LOGDATE</id>
                <enabled>Y</enabled>
                <name>LOGDATE</name>
              </field>
              <field>
                <id>TRANSNAME</id>
                <enabled>Y</enabled>
                <name>TRANSNAME</name>
              </field>
              <field>
                <id>STEPNAME</id>
                <enabled>Y</enabled>
                <name>STEPNAME</name>
              </field>
              <field>
                <id>STEP_COPY</id>
                <enabled>Y</enabled>
                <name>STEP_COPY</name>
              </field>
              <field>
                <id>LINES_READ</id>
                <enabled>Y</enabled>
                <name>LINES_READ</name>
              </field>
              <field>
                <id>LINES_WRITTEN</id>
                <enabled>Y</enabled>
                <name>LINES_WRITTEN</name>
              </field>
              <field>
                <id>LINES_UPDATED</id>
                <enabled>Y</enabled>
                <name>LINES_UPDATED</name>
              </field>
              <field>
                <id>LINES_INPUT</id>
                <enabled>Y</enabled>
                <name>LINES_INPUT</name>
              </field>
              <field>
                <id>LINES_OUTPUT</id>
                <enabled>Y</enabled>
                <name>LINES_OUTPUT</name>
              </field>
              <field>
                <id>LINES_REJECTED</id>
                <enabled>Y</enabled>
                <name>LINES_REJECTED</name>
              </field>
              <field>
                <id>ERRORS</id>
                <enabled>Y</enabled>
                <name>ERRORS</name>
              </field>
              <field>
                <id>INPUT_BUFFER_ROWS</id>
                <enabled>Y</enabled>
                <name>INPUT_BUFFER_ROWS</name>
              </field>
              <field>
                <id>OUTPUT_BUFFER_ROWS</id>
                <enabled>Y</enabled>
                <name>OUTPUT_BUFFER_ROWS</name>
              </field>
            </perf-log-table>
            <channel-log-table>
              <connection/>
              <schema/>
              <table/>
              <timeout_days/>
              <field>
                <id>ID_BATCH</id>
                <enabled>Y</enabled>
                <name>ID_BATCH</name>
              </field>
              <field>
                <id>CHANNEL_ID</id>
                <enabled>Y</enabled>
                <name>CHANNEL_ID</name>
              </field>
              <field>
                <id>LOG_DATE</id>
                <enabled>Y</enabled>
                <name>LOG_DATE</name>
              </field>
              <field>
                <id>LOGGING_OBJECT_TYPE</id>
                <enabled>Y</enabled>
                <name>LOGGING_OBJECT_TYPE</name>
              </field>
              <field>
                <id>OBJECT_NAME</id>
                <enabled>Y</enabled>
                <name>OBJECT_NAME</name>
              </field>
              <field>
                <id>OBJECT_COPY</id>
                <enabled>Y</enabled>
                <name>OBJECT_COPY</name>
              </field>
              <field>
                <id>REPOSITORY_DIRECTORY</id>
                <enabled>Y</enabled>
                <name>REPOSITORY_DIRECTORY</name>
              </field>
              <field>
                <id>FILENAME</id>
                <enabled>Y</enabled>
                <name>FILENAME</name>
              </field>
              <field>
                <id>OBJECT_ID</id>
                <enabled>Y</enabled>
                <name>OBJECT_ID</name>
              </field>
              <field>
                <id>OBJECT_REVISION</id>
                <enabled>Y</enabled>
                <name>OBJECT_REVISION</name>
              </field>
              <field>
                <id>PARENT_CHANNEL_ID</id>
                <enabled>Y</enabled>
                <name>PARENT_CHANNEL_ID</name>
              </field>
              <field>
                <id>ROOT_CHANNEL_ID</id>
                <enabled>Y</enabled>
                <name>ROOT_CHANNEL_ID</name>
              </field>
            </channel-log-table>
            <step-log-table>
              <connection/>
              <schema/>
              <table/>
              <timeout_days/>
              <field>
                <id>ID_BATCH</id>
                <enabled>Y</enabled>
                <name>ID_BATCH</name>
              </field>
              <field>
                <id>CHANNEL_ID</id>
                <enabled>Y</enabled>
                <name>CHANNEL_ID</name>
              </field>
              <field>
                <id>LOG_DATE</id>
                <enabled>Y</enabled>
                <name>LOG_DATE</name>
              </field>
              <field>
                <id>TRANSNAME</id>
                <enabled>Y</enabled>
                <name>TRANSNAME</name>
              </field>
              <field>
                <id>STEPNAME</id>
                <enabled>Y</enabled>
                <name>STEPNAME</name>
              </field>
              <field>
                <id>STEP_COPY</id>
                <enabled>Y</enabled>
                <name>STEP_COPY</name>
              </field>
              <field>
                <id>LINES_READ</id>
                <enabled>Y</enabled>
                <name>LINES_READ</name>
              </field>
              <field>
                <id>LINES_WRITTEN</id>
                <enabled>Y</enabled>
                <name>LINES_WRITTEN</name>
              </field>
              <field>
                <id>LINES_UPDATED</id>
                <enabled>Y</enabled>
                <name>LINES_UPDATED</name>
              </field>
              <field>
                <id>LINES_INPUT</id>
                <enabled>Y</enabled>
                <name>LINES_INPUT</name>
              </field>
              <field>
                <id>LINES_OUTPUT</id>
                <enabled>Y</enabled>
                <name>LINES_OUTPUT</name>
              </field>
              <field>
                <id>LINES_REJECTED</id>
                <enabled>Y</enabled>
                <name>LINES_REJECTED</name>
              </field>
              <field>
                <id>ERRORS</id>
                <enabled>Y</enabled>
                <name>ERRORS</name>
              </field>
              <field>
                <id>LOG_FIELD</id>
                <enabled>N</enabled>
                <name>LOG_FIELD</name>
              </field>
            </step-log-table>
            <metrics-log-table>
              <connection/>
              <schema/>
              <table/>
              <timeout_days/>
              <field>
                <id>ID_BATCH</id>
                <enabled>Y</enabled>
                <name>ID_BATCH</name>
              </field>
              <field>
                <id>CHANNEL_ID</id>
                <enabled>Y</enabled>
                <name>CHANNEL_ID</name>
              </field>
              <field>
                <id>LOG_DATE</id>
                <enabled>Y</enabled>
                <name>LOG_DATE</name>
              </field>
              <field>
                <id>METRICS_DATE</id>
                <enabled>Y</enabled>
                <name>METRICS_DATE</name>
              </field>
              <field>
                <id>METRICS_CODE</id>
                <enabled>Y</enabled>
                <name>METRICS_CODE</name>
              </field>
              <field>
                <id>METRICS_DESCRIPTION</id>
                <enabled>Y</enabled>
                <name>METRICS_DESCRIPTION</name>
              </field>
              <field>
                <id>METRICS_SUBJECT</id>
                <enabled>Y</enabled>
                <name>METRICS_SUBJECT</name>
              </field>
              <field>
                <id>METRICS_TYPE</id>
                <enabled>Y</enabled>
                <name>METRICS_TYPE</name>
              </field>
              <field>
                <id>METRICS_VALUE</id>
                <enabled>Y</enabled>
                <name>METRICS_VALUE</name>
              </field>
            </metrics-log-table>
          </log>
          <maxdate>
            <connection/>
            <table/>
            <field/>
            <offset>0.0</offset>
            <maxdiff>0.0</maxdiff>
          </maxdate>
          <size_rowset>10000</size_rowset>
          <sleep_time_empty>50</sleep_time_empty>
          <sleep_time_full>50</sleep_time_full>
          <unique_connections>N</unique_connections>
          <feedback_shown>Y</feedback_shown>
          <feedback_size>50000</feedback_size>
          <using_thread_priorities>Y</using_thread_priorities>
          <shared_objects_file/>
          <capture_step_performance>N</capture_step_performance>
          <step_performance_capturing_delay>1000</step_performance_capturing_delay>
          <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
          <dependencies>
          </dependencies>
          <partitionschemas>
          </partitionschemas>
          <slaveservers>
          </slaveservers>
          <clusterschemas>
          </clusterschemas>
          <created_user>-</created_user>
          <created_date>2021/09/03 13:39:06.440</created_date>
          <modified_user>-</modified_user>
          <modified_date>2021/09/03 13:39:06.440</modified_date>
          <key_for_session_key/>
          <is_key_private>N</is_key_private>
        </info>
        <notepads>
        </notepads>
        <order>
          <hop>
            <from>Get records from stream</from>
            <to>Write to log</to>
            <enabled>Y</enabled>
          </hop>
        </order>
        <step>
          <name>Get records from stream</name>
          <type>RecordsFromStream</type>
          <description/>
          <distribute>Y</distribute>
          <custom_distribution/>
          <copies>1</copies>
          <partitioning>
            <method>none</method>
            <schema_name/>
          </partitioning>
          <fields>
            <field>
              <name>message</name>
              <type>None</type>
              <length>-1</length>
              <precision>-1</precision>
            </field>
          </fields>
          <attributes/>
          <cluster_schema/>
          <remotesteps>
            <input>
            </input>
            <output>
            </output>
          </remotesteps>
          <GUI>
            <xloc>160</xloc>
            <yloc>176</yloc>
            <draw>Y</draw>
          </GUI>
        </step>
        <step>
          <name>Write to log</name>
          <type>WriteToLog</type>
          <description/>
          <distribute>Y</distribute>
          <custom_distribution/>
          <copies>1</copies>
          <partitioning>
            <method>none</method>
            <schema_name/>
          </partitioning>
          <loglevel>log_level_basic</loglevel>
          <displayHeader>Y</displayHeader>
          <limitRows>N</limitRows>
          <limitRowsNumber>0</limitRowsNumber>
          <logmessage/>
          <fields>
            </fields>
          <attributes/>
          <cluster_schema/>
          <remotesteps>
            <input>
            </input>
            <output>
            </output>
          </remotesteps>
          <GUI>
            <xloc>304</xloc>
            <yloc>176</yloc>
            <draw>Y</draw>
          </GUI>
        </step>
        <step_error_handling>
        </step_error_handling>
        <slave-step-copy-partition-distribution>
        </slave-step-copy-partition-distribution>
        <slave_transformation>N</slave_transformation>
        <attributes/>
      </transformation>
      
      Show
      1) Obtain ActiveMQ 5.16.3 and PDI 9.2 CE and execute them locally. 2) Create a simple transformation for accessing ActiveMQ. consumer.ktr <?xml version= "1.0" encoding= "UTF-8" ?> <transformation> <info> <name> consumer </name> <description/> <extended_description/> <trans_version/> <trans_type> Normal </trans_type> <directory> / </directory> <parameters> </parameters> <log> <trans-log-table> <connection/> <schema/> <table/> <size_limit_lines/> <interval/> <timeout_days/> <field> <id> ID_BATCH </id> <enabled> Y </enabled> <name> ID_BATCH </name> </field> <field> <id> CHANNEL_ID </id> <enabled> Y </enabled> <name> CHANNEL_ID </name> </field> <field> <id> TRANSNAME </id> <enabled> Y </enabled> <name> TRANSNAME </name> </field> <field> <id> STATUS </id> <enabled> Y </enabled> <name> STATUS </name> </field> <field> <id> LINES_READ </id> <enabled> Y </enabled> <name> LINES_READ </name> <subject/> </field> <field> <id> LINES_WRITTEN </id> <enabled> Y </enabled> <name> LINES_WRITTEN </name> <subject/> </field> <field> <id> LINES_UPDATED </id> <enabled> Y </enabled> <name> LINES_UPDATED </name> <subject/> </field> <field> <id> LINES_INPUT </id> <enabled> Y </enabled> <name> LINES_INPUT </name> <subject/> </field> <field> <id> LINES_OUTPUT </id> <enabled> Y </enabled> <name> LINES_OUTPUT </name> <subject/> </field> <field> <id> LINES_REJECTED </id> <enabled> Y </enabled> <name> LINES_REJECTED </name> <subject/> </field> <field> <id> ERRORS </id> <enabled> Y </enabled> <name> ERRORS </name> </field> <field> <id> STARTDATE </id> <enabled> Y </enabled> <name> STARTDATE </name> </field> <field> <id> ENDDATE </id> <enabled> Y </enabled> <name> ENDDATE </name> </field> <field> <id> LOGDATE </id> <enabled> Y </enabled> <name> LOGDATE </name> </field> <field> <id> DEPDATE </id> <enabled> Y </enabled> <name> DEPDATE </name> </field> <field> <id> REPLAYDATE </id> <enabled> Y </enabled> <name> REPLAYDATE </name> </field> <field> <id> LOG_FIELD </id> <enabled> Y </enabled> <name> LOG_FIELD </name> </field> <field> <id> EXECUTING_SERVER </id> <enabled> N </enabled> <name> EXECUTING_SERVER </name> </field> <field> <id> EXECUTING_USER </id> <enabled> N </enabled> <name> EXECUTING_USER </name> </field> <field> <id> CLIENT </id> <enabled> N </enabled> <name> CLIENT </name> </field> </trans-log-table> <perf-log-table> <connection/> <schema/> <table/> <interval/> <timeout_days/> <field> <id> ID_BATCH </id> <enabled> Y </enabled> <name> ID_BATCH </name> </field> <field> <id> SEQ_NR </id> <enabled> Y </enabled> <name> SEQ_NR </name> </field> <field> <id> LOGDATE </id> <enabled> Y </enabled> <name> LOGDATE </name> </field> <field> <id> TRANSNAME </id> <enabled> Y </enabled> <name> TRANSNAME </name> </field> <field> <id> STEPNAME </id> <enabled> Y </enabled> <name> STEPNAME </name> </field> <field> <id> STEP_COPY </id> <enabled> Y </enabled> <name> STEP_COPY </name> </field> <field> <id> LINES_READ </id> <enabled> Y </enabled> <name> LINES_READ </name> </field> <field> <id> LINES_WRITTEN </id> <enabled> Y </enabled> <name> LINES_WRITTEN </name> </field> <field> <id> LINES_UPDATED </id> <enabled> Y </enabled> <name> LINES_UPDATED </name> </field> <field> <id> LINES_INPUT </id> <enabled> Y </enabled> <name> LINES_INPUT </name> </field> <field> <id> LINES_OUTPUT </id> <enabled> Y </enabled> <name> LINES_OUTPUT </name> </field> <field> <id> LINES_REJECTED </id> <enabled> Y </enabled> <name> LINES_REJECTED </name> </field> <field> <id> ERRORS </id> <enabled> Y </enabled> <name> ERRORS </name> </field> <field> <id> INPUT_BUFFER_ROWS </id> <enabled> Y </enabled> <name> INPUT_BUFFER_ROWS </name> </field> <field> <id> OUTPUT_BUFFER_ROWS </id> <enabled> Y </enabled> <name> OUTPUT_BUFFER_ROWS </name> </field> </perf-log-table> <channel-log-table> <connection/> <schema/> <table/> <timeout_days/> <field> <id> ID_BATCH </id> <enabled> Y </enabled> <name> ID_BATCH </name> </field> <field> <id> CHANNEL_ID </id> <enabled> Y </enabled> <name> CHANNEL_ID </name> </field> <field> <id> LOG_DATE </id> <enabled> Y </enabled> <name> LOG_DATE </name> </field> <field> <id> LOGGING_OBJECT_TYPE </id> <enabled> Y </enabled> <name> LOGGING_OBJECT_TYPE </name> </field> <field> <id> OBJECT_NAME </id> <enabled> Y </enabled> <name> OBJECT_NAME </name> </field> <field> <id> OBJECT_COPY </id> <enabled> Y </enabled> <name> OBJECT_COPY </name> </field> <field> <id> REPOSITORY_DIRECTORY </id> <enabled> Y </enabled> <name> REPOSITORY_DIRECTORY </name> </field> <field> <id> FILENAME </id> <enabled> Y </enabled> <name> FILENAME </name> </field> <field> <id> OBJECT_ID </id> <enabled> Y </enabled> <name> OBJECT_ID </name> </field> <field> <id> OBJECT_REVISION </id> <enabled> Y </enabled> <name> OBJECT_REVISION </name> </field> <field> <id> PARENT_CHANNEL_ID </id> <enabled> Y </enabled> <name> PARENT_CHANNEL_ID </name> </field> <field> <id> ROOT_CHANNEL_ID </id> <enabled> Y </enabled> <name> ROOT_CHANNEL_ID </name> </field> </channel-log-table> <step-log-table> <connection/> <schema/> <table/> <timeout_days/> <field> <id> ID_BATCH </id> <enabled> Y </enabled> <name> ID_BATCH </name> </field> <field> <id> CHANNEL_ID </id> <enabled> Y </enabled> <name> CHANNEL_ID </name> </field> <field> <id> LOG_DATE </id> <enabled> Y </enabled> <name> LOG_DATE </name> </field> <field> <id> TRANSNAME </id> <enabled> Y </enabled> <name> TRANSNAME </name> </field> <field> <id> STEPNAME </id> <enabled> Y </enabled> <name> STEPNAME </name> </field> <field> <id> STEP_COPY </id> <enabled> Y </enabled> <name> STEP_COPY </name> </field> <field> <id> LINES_READ </id> <enabled> Y </enabled> <name> LINES_READ </name> </field> <field> <id> LINES_WRITTEN </id> <enabled> Y </enabled> <name> LINES_WRITTEN </name> </field> <field> <id> LINES_UPDATED </id> <enabled> Y </enabled> <name> LINES_UPDATED </name> </field> <field> <id> LINES_INPUT </id> <enabled> Y </enabled> <name> LINES_INPUT </name> </field> <field> <id> LINES_OUTPUT </id> <enabled> Y </enabled> <name> LINES_OUTPUT </name> </field> <field> <id> LINES_REJECTED </id> <enabled> Y </enabled> <name> LINES_REJECTED </name> </field> <field> <id> ERRORS </id> <enabled> Y </enabled> <name> ERRORS </name> </field> <field> <id> LOG_FIELD </id> <enabled> N </enabled> <name> LOG_FIELD </name> </field> </step-log-table> <metrics-log-table> <connection/> <schema/> <table/> <timeout_days/> <field> <id> ID_BATCH </id> <enabled> Y </enabled> <name> ID_BATCH </name> </field> <field> <id> CHANNEL_ID </id> <enabled> Y </enabled> <name> CHANNEL_ID </name> </field> <field> <id> LOG_DATE </id> <enabled> Y </enabled> <name> LOG_DATE </name> </field> <field> <id> METRICS_DATE </id> <enabled> Y </enabled> <name> METRICS_DATE </name> </field> <field> <id> METRICS_CODE </id> <enabled> Y </enabled> <name> METRICS_CODE </name> </field> <field> <id> METRICS_DESCRIPTION </id> <enabled> Y </enabled> <name> METRICS_DESCRIPTION </name> </field> <field> <id> METRICS_SUBJECT </id> <enabled> Y </enabled> <name> METRICS_SUBJECT </name> </field> <field> <id> METRICS_TYPE </id> <enabled> Y </enabled> <name> METRICS_TYPE </name> </field> <field> <id> METRICS_VALUE </id> <enabled> Y </enabled> <name> METRICS_VALUE </name> </field> </metrics-log-table> </log> <maxdate> <connection/> <table/> <field/> <offset> 0.0 </offset> <maxdiff> 0.0 </maxdiff> </maxdate> <size_rowset> 10000 </size_rowset> <sleep_time_empty> 50 </sleep_time_empty> <sleep_time_full> 50 </sleep_time_full> <unique_connections> N </unique_connections> <feedback_shown> Y </feedback_shown> <feedback_size> 50000 </feedback_size> <using_thread_priorities> Y </using_thread_priorities> <shared_objects_file/> <capture_step_performance> N </capture_step_performance> <step_performance_capturing_delay> 1000 </step_performance_capturing_delay> <step_performance_capturing_size_limit> 100 </step_performance_capturing_size_limit> <dependencies> </dependencies> <partitionschemas> </partitionschemas> <slaveservers> </slaveservers> <clusterschemas> </clusterschemas> <created_user> - </created_user> <created_date> 2021/09/03 13:28:21.568 </created_date> <modified_user> - </modified_user> <modified_date> 2021/09/03 13:28:21.568 </modified_date> <key_for_session_key/> <is_key_private> N </is_key_private> </info> <notepads> </notepads> <order> </order> <step> <name> JMS consumer </name> <type> Jms2Consumer </type> <description/> <distribute> Y </distribute> <custom_distribution/> <copies> 1 </copies> <partitioning> <method> none </method> <schema_name/> </partitioning> <step-props secure= "IBMMQ_PASSWORD AMQ_PASSWORD SSL_KEYSTORE_PASSWORD SSL_TRUSTSTORE_PASSWORD" > <group name=""> <property group= "" name=" DESTINATION"> <value xsi:type= "xs:string" > examples </value> </property> <property group= "" name=" IBMMQ_URL"> <value xsi:type= "xs:string" /> </property> <property group= "" name=" IBMMQ_USERNAME"> <value xsi:type= "xs:string" /> </property> <property group= "" name=" IBMMQ_PASSWORD"> <value xsi:type= "xs:string" /> </property> <property group= "" name=" AMQ_URL"> <value xsi:type= "xs:string" > tcp://localhost:61616?wireFormat.maxFrameSize=104857600 </value> </property> <property group= "" name=" AMQ_USERNAME"> <value xsi:type= "xs:string" > admin </value> </property> <property group= "" name=" AMQ_PASSWORD"> <value xsi:type= "xs:string" > Encrypted 2be98afc86aa7f2e4cb79ce71da9fa6d4 </value> </property> <property group= "" name=" CONNECTION_TYPE"> <value xsi:type= "xs:string" > ACTIVEMQ </value> </property> <property group= "" name=" DESTINATION_TYPE"> <value xsi:type= "xs:string" > QUEUE </value> </property> <property group= "" name=" RECEIVE_TIMEOUT"> <value xsi:type= "xs:string" > 10 </value> </property> <property group= "" name=" MESSAGE_FIELD_NAME"> <value xsi:type= "xs:string" > message </value> </property> <property group= "" name=" DESTINATION_FIELD_NAME"> <value xsi:type= "xs:string" > destination </value> </property> <property group= "" name=" MESSAGE_ID"> <value xsi:type= "xs:string" > messageId </value> </property> <property group= "" name=" JMS_TIMESTAMP"> <value xsi:type= "xs:string" > jmsTimestamp </value> </property> <property group= "" name=" JMS_REDELIVERED"> <value xsi:type= "xs:string" > jmsRedelivered </value> </property> <property group= "" name=" TRANSFORMATION_PATH"> <value xsi:type= "xs:string" > ${Internal.Entry.Current.Directory}/stream.ktr </value> </property> <property group= "" name=" NUM_MESSAGES"> <value xsi:type= "xs:string" > 100 </value> </property> <property group= "" name=" PREFETCH_COUNT"> <value xsi:type= "xs:string" > 1000 </value> </property> <property group= "" name=" DURATION"> <value xsi:type= "xs:string" > 100 </value> </property> <property group= "" name=" SUB_STEP"> <value xsi:type= "xs:string" /> </property> <property group= "" name=" PARALLELISM"> <value xsi:type= "xs:string" > 1 </value> </property> </group> <group name= "SSL_GROUP" > <property group= "SSL_GROUP" name= "SSL_ENABLED" > <value xsi:type= "xs:boolean" > false </value> </property> <property group= "SSL_GROUP" name= "SSL_KEYSTORE_PATH" > <value xsi:type= "xs:string" /> </property> <property group= "SSL_GROUP" name= "SSL_KEYSTORE_TYPE" /> <property group= "SSL_GROUP" name= "SSL_KEYSTORE_PASSWORD" > <value xsi:type= "xs:string" /> </property> <property group= "SSL_GROUP" name= "SSL_TRUSTSTORE_PATH" > <value xsi:type= "xs:string" /> </property> <property group= "SSL_GROUP" name= "SSL_TRUSTSTORE_TYPE" /> <property group= "SSL_GROUP" name= "SSL_TRUSTSTORE_PASSWORD" > <value xsi:type= "xs:string" /> </property> <property group= "SSL_GROUP" name= "SSL_CONTEXT_ALGORITHM" > <value xsi:type= "xs:string" /> </property> <property group= "SSL_GROUP" name= "SSL_CIPHERSUITE" > <value xsi:type= "xs:string" /> </property> <property group= "SSL_GROUP" name= "IBM_SSL_FIPSREQUIRED" > <value xsi:type= "xs:string" /> </property> <property group= "SSL_GROUP" name= "AMQ_SSL_PROVIDER" > <value xsi:type= "xs:string" /> </property> <property group= "SSL_GROUP" name= "AMQ_SSL_VERIFY_HOST" > <value xsi:type= "xs:string" /> </property> <property group= "SSL_GROUP" name= "AMQ_SSL_TRUST_ALL" > <value xsi:type= "xs:string" /> </property> <property group= "SSL_GROUP" name= "SSL_USE_DEFAULT_CONTEXT" > <value xsi:type= "xs:boolean" > false </value> </property> </group> </step-props> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc> 112 </xloc> <yloc> 112 </yloc> <draw> Y </draw> </GUI> </step> <step_error_handling> </step_error_handling> <slave-step-copy-partition-distribution> </slave-step-copy-partition-distribution> <slave_transformation> N </slave_transformation> <attributes/> </transformation> stream.ktr <?xml version= "1.0" encoding= "UTF-8" ?> <transformation> <info> <name> stream </name> <description/> <extended_description/> <trans_version/> <trans_type> Normal </trans_type> <directory> / </directory> <parameters> </parameters> <log> <trans-log-table> <connection/> <schema/> <table/> <size_limit_lines/> <interval/> <timeout_days/> <field> <id> ID_BATCH </id> <enabled> Y </enabled> <name> ID_BATCH </name> </field> <field> <id> CHANNEL_ID </id> <enabled> Y </enabled> <name> CHANNEL_ID </name> </field> <field> <id> TRANSNAME </id> <enabled> Y </enabled> <name> TRANSNAME </name> </field> <field> <id> STATUS </id> <enabled> Y </enabled> <name> STATUS </name> </field> <field> <id> LINES_READ </id> <enabled> Y </enabled> <name> LINES_READ </name> <subject/> </field> <field> <id> LINES_WRITTEN </id> <enabled> Y </enabled> <name> LINES_WRITTEN </name> <subject/> </field> <field> <id> LINES_UPDATED </id> <enabled> Y </enabled> <name> LINES_UPDATED </name> <subject/> </field> <field> <id> LINES_INPUT </id> <enabled> Y </enabled> <name> LINES_INPUT </name> <subject/> </field> <field> <id> LINES_OUTPUT </id> <enabled> Y </enabled> <name> LINES_OUTPUT </name> <subject/> </field> <field> <id> LINES_REJECTED </id> <enabled> Y </enabled> <name> LINES_REJECTED </name> <subject/> </field> <field> <id> ERRORS </id> <enabled> Y </enabled> <name> ERRORS </name> </field> <field> <id> STARTDATE </id> <enabled> Y </enabled> <name> STARTDATE </name> </field> <field> <id> ENDDATE </id> <enabled> Y </enabled> <name> ENDDATE </name> </field> <field> <id> LOGDATE </id> <enabled> Y </enabled> <name> LOGDATE </name> </field> <field> <id> DEPDATE </id> <enabled> Y </enabled> <name> DEPDATE </name> </field> <field> <id> REPLAYDATE </id> <enabled> Y </enabled> <name> REPLAYDATE </name> </field> <field> <id> LOG_FIELD </id> <enabled> Y </enabled> <name> LOG_FIELD </name> </field> <field> <id> EXECUTING_SERVER </id> <enabled> N </enabled> <name> EXECUTING_SERVER </name> </field> <field> <id> EXECUTING_USER </id> <enabled> N </enabled> <name> EXECUTING_USER </name> </field> <field> <id> CLIENT </id> <enabled> N </enabled> <name> CLIENT </name> </field> </trans-log-table> <perf-log-table> <connection/> <schema/> <table/> <interval/> <timeout_days/> <field> <id> ID_BATCH </id> <enabled> Y </enabled> <name> ID_BATCH </name> </field> <field> <id> SEQ_NR </id> <enabled> Y </enabled> <name> SEQ_NR </name> </field> <field> <id> LOGDATE </id> <enabled> Y </enabled> <name> LOGDATE </name> </field> <field> <id> TRANSNAME </id> <enabled> Y </enabled> <name> TRANSNAME </name> </field> <field> <id> STEPNAME </id> <enabled> Y </enabled> <name> STEPNAME </name> </field> <field> <id> STEP_COPY </id> <enabled> Y </enabled> <name> STEP_COPY </name> </field> <field> <id> LINES_READ </id> <enabled> Y </enabled> <name> LINES_READ </name> </field> <field> <id> LINES_WRITTEN </id> <enabled> Y </enabled> <name> LINES_WRITTEN </name> </field> <field> <id> LINES_UPDATED </id> <enabled> Y </enabled> <name> LINES_UPDATED </name> </field> <field> <id> LINES_INPUT </id> <enabled> Y </enabled> <name> LINES_INPUT </name> </field> <field> <id> LINES_OUTPUT </id> <enabled> Y </enabled> <name> LINES_OUTPUT </name> </field> <field> <id> LINES_REJECTED </id> <enabled> Y </enabled> <name> LINES_REJECTED </name> </field> <field> <id> ERRORS </id> <enabled> Y </enabled> <name> ERRORS </name> </field> <field> <id> INPUT_BUFFER_ROWS </id> <enabled> Y </enabled> <name> INPUT_BUFFER_ROWS </name> </field> <field> <id> OUTPUT_BUFFER_ROWS </id> <enabled> Y </enabled> <name> OUTPUT_BUFFER_ROWS </name> </field> </perf-log-table> <channel-log-table> <connection/> <schema/> <table/> <timeout_days/> <field> <id> ID_BATCH </id> <enabled> Y </enabled> <name> ID_BATCH </name> </field> <field> <id> CHANNEL_ID </id> <enabled> Y </enabled> <name> CHANNEL_ID </name> </field> <field> <id> LOG_DATE </id> <enabled> Y </enabled> <name> LOG_DATE </name> </field> <field> <id> LOGGING_OBJECT_TYPE </id> <enabled> Y </enabled> <name> LOGGING_OBJECT_TYPE </name> </field> <field> <id> OBJECT_NAME </id> <enabled> Y </enabled> <name> OBJECT_NAME </name> </field> <field> <id> OBJECT_COPY </id> <enabled> Y </enabled> <name> OBJECT_COPY </name> </field> <field> <id> REPOSITORY_DIRECTORY </id> <enabled> Y </enabled> <name> REPOSITORY_DIRECTORY </name> </field> <field> <id> FILENAME </id> <enabled> Y </enabled> <name> FILENAME </name> </field> <field> <id> OBJECT_ID </id> <enabled> Y </enabled> <name> OBJECT_ID </name> </field> <field> <id> OBJECT_REVISION </id> <enabled> Y </enabled> <name> OBJECT_REVISION </name> </field> <field> <id> PARENT_CHANNEL_ID </id> <enabled> Y </enabled> <name> PARENT_CHANNEL_ID </name> </field> <field> <id> ROOT_CHANNEL_ID </id> <enabled> Y </enabled> <name> ROOT_CHANNEL_ID </name> </field> </channel-log-table> <step-log-table> <connection/> <schema/> <table/> <timeout_days/> <field> <id> ID_BATCH </id> <enabled> Y </enabled> <name> ID_BATCH </name> </field> <field> <id> CHANNEL_ID </id> <enabled> Y </enabled> <name> CHANNEL_ID </name> </field> <field> <id> LOG_DATE </id> <enabled> Y </enabled> <name> LOG_DATE </name> </field> <field> <id> TRANSNAME </id> <enabled> Y </enabled> <name> TRANSNAME </name> </field> <field> <id> STEPNAME </id> <enabled> Y </enabled> <name> STEPNAME </name> </field> <field> <id> STEP_COPY </id> <enabled> Y </enabled> <name> STEP_COPY </name> </field> <field> <id> LINES_READ </id> <enabled> Y </enabled> <name> LINES_READ </name> </field> <field> <id> LINES_WRITTEN </id> <enabled> Y </enabled> <name> LINES_WRITTEN </name> </field> <field> <id> LINES_UPDATED </id> <enabled> Y </enabled> <name> LINES_UPDATED </name> </field> <field> <id> LINES_INPUT </id> <enabled> Y </enabled> <name> LINES_INPUT </name> </field> <field> <id> LINES_OUTPUT </id> <enabled> Y </enabled> <name> LINES_OUTPUT </name> </field> <field> <id> LINES_REJECTED </id> <enabled> Y </enabled> <name> LINES_REJECTED </name> </field> <field> <id> ERRORS </id> <enabled> Y </enabled> <name> ERRORS </name> </field> <field> <id> LOG_FIELD </id> <enabled> N </enabled> <name> LOG_FIELD </name> </field> </step-log-table> <metrics-log-table> <connection/> <schema/> <table/> <timeout_days/> <field> <id> ID_BATCH </id> <enabled> Y </enabled> <name> ID_BATCH </name> </field> <field> <id> CHANNEL_ID </id> <enabled> Y </enabled> <name> CHANNEL_ID </name> </field> <field> <id> LOG_DATE </id> <enabled> Y </enabled> <name> LOG_DATE </name> </field> <field> <id> METRICS_DATE </id> <enabled> Y </enabled> <name> METRICS_DATE </name> </field> <field> <id> METRICS_CODE </id> <enabled> Y </enabled> <name> METRICS_CODE </name> </field> <field> <id> METRICS_DESCRIPTION </id> <enabled> Y </enabled> <name> METRICS_DESCRIPTION </name> </field> <field> <id> METRICS_SUBJECT </id> <enabled> Y </enabled> <name> METRICS_SUBJECT </name> </field> <field> <id> METRICS_TYPE </id> <enabled> Y </enabled> <name> METRICS_TYPE </name> </field> <field> <id> METRICS_VALUE </id> <enabled> Y </enabled> <name> METRICS_VALUE </name> </field> </metrics-log-table> </log> <maxdate> <connection/> <table/> <field/> <offset> 0.0 </offset> <maxdiff> 0.0 </maxdiff> </maxdate> <size_rowset> 10000 </size_rowset> <sleep_time_empty> 50 </sleep_time_empty> <sleep_time_full> 50 </sleep_time_full> <unique_connections> N </unique_connections> <feedback_shown> Y </feedback_shown> <feedback_size> 50000 </feedback_size> <using_thread_priorities> Y </using_thread_priorities> <shared_objects_file/> <capture_step_performance> N </capture_step_performance> <step_performance_capturing_delay> 1000 </step_performance_capturing_delay> <step_performance_capturing_size_limit> 100 </step_performance_capturing_size_limit> <dependencies> </dependencies> <partitionschemas> </partitionschemas> <slaveservers> </slaveservers> <clusterschemas> </clusterschemas> <created_user> - </created_user> <created_date> 2021/09/03 13:39:06.440 </created_date> <modified_user> - </modified_user> <modified_date> 2021/09/03 13:39:06.440 </modified_date> <key_for_session_key/> <is_key_private> N </is_key_private> </info> <notepads> </notepads> <order> <hop> <from> Get records from stream </from> <to> Write to log </to> <enabled> Y </enabled> </hop> </order> <step> <name> Get records from stream </name> <type> RecordsFromStream </type> <description/> <distribute> Y </distribute> <custom_distribution/> <copies> 1 </copies> <partitioning> <method> none </method> <schema_name/> </partitioning> <fields> <field> <name> message </name> <type> None </type> <length> -1 </length> <precision> -1 </precision> </field> </fields> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc> 160 </xloc> <yloc> 176 </yloc> <draw> Y </draw> </GUI> </step> <step> <name> Write to log </name> <type> WriteToLog </type> <description/> <distribute> Y </distribute> <custom_distribution/> <copies> 1 </copies> <partitioning> <method> none </method> <schema_name/> </partitioning> <loglevel> log_level_basic </loglevel> <displayHeader> Y </displayHeader> <limitRows> N </limitRows> <limitRowsNumber> 0 </limitRowsNumber> <logmessage/> <fields> </fields> <attributes/> <cluster_schema/> <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI> <xloc> 304 </xloc> <yloc> 176 </yloc> <draw> Y </draw> </GUI> </step> <step_error_handling> </step_error_handling> <slave-step-copy-partition-distribution> </slave-step-copy-partition-distribution> <slave_transformation> N </slave_transformation> <attributes/> </transformation>

      Description

      Hi, Team,

       

      I tried JMS producer/consumer to write/get message with ActiveMQ 5.16.3 under Ubuntu 20.04 (OpenJDK 8).

       

      But my transformations fail to execute with the following message

      2021/09/03 15:00:52 - producer - Dispatching started for transformation [producer]2021/09/03 15:00:52 - producer - Dispatching started for transformation [producer]2021/09/03 15:00:52 - producer - Nr of arguments detected:0 2021/09/03 15:00:52 - producer - This is not a replay transformation2021/09/03 15:00:52 - producer - I found 2 different steps to launch.2021/09/03 15:00:52 - producer - Allocating rowsets...2021/09/03 15:00:52 - producer -  Allocating rowsets for step 0 --> Generate random value2021/09/03 15:00:52 - producer -   prevcopies = 1, nextcopies=12021/09/03 15:00:52 - producer - Transformation allocated new rowset [Generate random value.0 - JMS producer.0]2021/09/03 15:00:52 - producer -  Allocated 1 rowsets for step 0 --> Generate random value  2021/09/03 15:00:52 - producer -  Allocating rowsets for step 1 --> JMS producer2021/09/03 15:00:52 - producer -  Allocated 1 rowsets for step 1 --> JMS producer  2021/09/03 15:00:52 - producer - Allocating Steps & StepData...2021/09/03 15:00:52 - producer -  Transformation is about to allocate step [Generate random value] of type [RandomValue]2021/09/03 15:00:52 - producer -   Step has nrcopies=12021/09/03 15:00:52 - Generate random value.0 - distribution activated2021/09/03 15:00:52 - Generate random value.0 - Starting allocation of buffers & new threads...2021/09/03 15:00:52 - Generate random value.0 - Step info: nrinput=0 nroutput=12021/09/03 15:00:52 - Generate random value.0 - output rel. is  1:12021/09/03 15:00:52 - Generate random value.0 - Found output rowset [Generate random value.0 - JMS producer.0]2021/09/03 15:00:52 - Generate random value.0 - Finished dispatching2021/09/03 15:00:52 - producer -  Transformation has allocated a new step: [Generate random value].02021/09/03 15:00:52 - producer -  Transformation is about to allocate step [JMS producer] of type [Jms2Producer]2021/09/03 15:00:52 - producer -   Step has nrcopies=12021/09/03 15:00:52 - JMS producer.0 - distribution activated2021/09/03 15:00:52 - JMS producer.0 - Starting allocation of buffers & new threads...2021/09/03 15:00:52 - JMS producer.0 - Step info: nrinput=1 nroutput=02021/09/03 15:00:52 - JMS producer.0 - Got previous step from [JMS producer] #0 --> Generate random value2021/09/03 15:00:52 - JMS producer.0 - input rel is 1:12021/09/03 15:00:52 - JMS producer.0 - Found input rowset [Generate random value.0 - JMS producer.0]2021/09/03 15:00:52 - JMS producer.0 - Finished dispatching2021/09/03 15:00:52 - producer -  Transformation has allocated a new step: [JMS producer].02021/09/03 15:00:52 - producer - This transformation can be replayed with replay date: 2021/09/03 15:00:522021/09/03 15:00:52 - producer - Initialising 2 steps...2021/09/03 15:00:52 - Generate random value.0 - Released server socket on port 02021/09/03 15:00:52 - JMS producer.0 - Released server socket on port 02021/09/03 15:00:52 - producer - Step [Generate random value.0] initialized flawlessly.2021/09/03 15:00:52 - producer - Step [JMS producer.0] initialized flawlessly.2021/09/03 15:00:52 - Generate random value.0 - Starting to run...2021/09/03 15:00:52 - Generate random value.0 - Random value returned: [0.5604727803]2021/09/03 15:00:52 - Generate random value.0 - Signaling 'output done' to 1 output rowsets.2021/09/03 15:00:52 - Generate random value.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)2021/09/03 15:00:52 - JMS producer.0 - Starting to run...2021/09/03 15:00:52 - JMS producer.0 - Connection Details: User Name: admin2021/09/03 15:00:52 - JMS producer.0 - Password: ********2021/09/03 15:00:52 - JMS producer.0 - URL: tcp://localhost:616162021/09/03 15:00:52 - producer - Transformation has allocated 2 threads and 1 rowsets.2021/09/03 15:01:02 - producer - Triggering heartbeat signal for producer at every 10 seconds2021/09/03 15:01:12 - producer - Triggering heartbeat signal for producer at every 10 seconds2021/09/03 15:01:22 - producer - Triggering heartbeat signal for producer at every 10 secondsjavax.jms.JMSRuntimeException: Failed to create session factory at org.apache.activemq.artemis.jms.client.JmsExceptionUtils.convertToRuntimeException(JmsExceptionUtils.java:88) at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createContext(ActiveMQConnectionFactory.java:304) at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createContext(ActiveMQConnectionFactory.java:292) at org.pentaho.di.trans.step.jms.context.ActiveMQProvider.getContext(ActiveMQProvider.java:57) at Proxy28820345_b80a_4622_950d_0fb8dd9806af.getContext(Unknown Source) at org.pentaho.di.trans.step.jms.JmsDelegate.getJmsContext(JmsDelegate.java:119) at org.pentaho.di.trans.step.jms.JmsProducer.processRow(JmsProducer.java:101) at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) at java.lang.Thread.run(Thread.java:748)Caused by: javax.jms.JMSException: Failed to create session factory at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:815) at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createContext(ActiveMQConnectionFactory.java:299) ... 7 moreCaused by: ActiveMQConnectionTimedOutException[errorType=CONNECTION_TIMEDOUT message=AMQ119013: Timed out waiting to receive cluster topology. Group:null] at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:816) at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:813) ... 8 more2021/09/03 15:01:23 - JMS producer.0 - ERROR (version 9.2.0.0-290, build 9.2.0.0-290 from 2021-06-02 06.36.08 by buildguy) : Unexpected error2021/09/03 15:01:23 - JMS producer.0 - ERROR (version 9.2.0.0-290, build 9.2.0.0-290 from 2021-06-02 06.36.08 by buildguy) : javax.jms.JMSRuntimeException: Failed to create session factory2021/09/03 15:01:23 - JMS producer.0 -  at org.apache.activemq.artemis.jms.client.JmsExceptionUtils.convertToRuntimeException(JmsExceptionUtils.java:88)2021/09/03 15:01:23 - JMS producer.0 -  at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createContext(ActiveMQConnectionFactory.java:304)2021/09/03 15:01:23 - JMS producer.0 -  at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createContext(ActiveMQConnectionFactory.java:292)2021/09/03 15:01:23 - JMS producer.0 -  at org.pentaho.di.trans.step.jms.context.ActiveMQProvider.getContext(ActiveMQProvider.java:57)2021/09/03 15:01:23 - JMS producer.0 -  at Proxy28820345_b80a_4622_950d_0fb8dd9806af.getContext(Unknown Source)2021/09/03 15:01:23 - JMS producer.0 -  at org.pentaho.di.trans.step.jms.JmsDelegate.getJmsContext(JmsDelegate.java:119)2021/09/03 15:01:23 - JMS producer.0 -  at org.pentaho.di.trans.step.jms.JmsProducer.processRow(JmsProducer.java:101)2021/09/03 15:01:23 - JMS producer.0 -  at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)2021/09/03 15:01:23 - JMS producer.0 -  at java.lang.Thread.run(Thread.java:748)2021/09/03 15:01:23 - JMS producer.0 - Caused by: javax.jms.JMSException: Failed to create session factory2021/09/03 15:01:23 - JMS producer.0 -  at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:815)2021/09/03 15:01:23 - JMS producer.0 -  at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createContext(ActiveMQConnectionFactory.java:299)2021/09/03 15:01:23 - JMS producer.0 -  ... 7 more2021/09/03 15:01:23 - JMS producer.0 - Caused by: ActiveMQConnectionTimedOutException[errorType=CONNECTION_TIMEDOUT message=AMQ119013: Timed out waiting to receive cluster topology. Group:null]2021/09/03 15:01:23 - JMS producer.0 -  at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:816)2021/09/03 15:01:23 - JMS producer.0 -  at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:813)2021/09/03 15:01:23 - JMS producer.0 -  ... 8 more2021/09/03 15:01:23 - JMS producer.0 - child index = 1, logging object : org.pentaho.di.core.logging.LoggingObject@5c68447 parent=6ac234e3-d97e-4b72-b8b1-5b2cc6e0f3dc2021/09/03 15:01:23 - JMS producer.0 - Finished processing (I=0, O=0, R=1, W=0, U=0, E=1)
      

      And I find the following message in ActiveMQ log.

      2021-09-03 15:00:53,563 | WARN  | Transport Connection to: tcp://127.0.0.1:48176 failed | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///127.0.0.1:48176@616162021-09-03 15:00:53,563 | WARN  | Transport Connection to: tcp://127.0.0.1:48176 failed | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///127.0.0.1:48176@61616java.io.IOException: Frame size of 1 GB larger than max allowed 100 MB at org.apache.activemq.util.IOExceptionSupport.createFrameSizeException(IOExceptionSupport.java:53) at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:270) at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:240) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:232) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215) at java.lang.Thread.run(Thread.java:748)
      

       

      I tried to setup wireFormat.maxFrameSize=104857600 in connection string but no luck.

       

      Both producer and consumer fail to connect Active 5.16.3.

       

      Is this an issue to be fixed?

       

      Thanks.

        Attachments

        1. jms-consumer-1.png
          jms-consumer-1.png
          60 kB
        2. jms-consumer-2.png
          jms-consumer-2.png
          31 kB
        3. jms-producer.png
          jms-producer.png
          51 kB
        4. pdi9.2-jms-consumer-failed.tar.gz
          9 kB
        5. pdi9.2-jms-producer-failed.tar.gz
          8 kB

          Activity

            People

            Assignee:
            lboudreau Luc Boudreau
            Reporter:
            Hsu CC
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated: