MIDHermesProducer - 전역

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 5분
  • MIDHermesProducer API는 에서 MID 서버 주제로 Hermes 데이터를 보내는 메서드를 제공합니다.

    를 사용하는 MID Server ECC Queue 대신 를 Hermes Messaging Service 통해 데이터를 보내는 것이 인스턴스로 ServiceNow 데이터를 가져오는 더 효율적인 방법이 될 수 있습니다.

    이 API에는 MID Hermes API(com.glide.mid.hermes_api) 플러그인이 ServiceNow 필요합니다. 호출 사용자에게 kafka_admin 역할이 있어야 합니다. 이 API를 호출하기 전에 다음 단계를 따르십시오.Configure the MID Hermes API Extension

    워크플로우 스튜디오 에서 실행 MID 서버MID 서버되는 스크립트에서 이 API를 사용하십시오. (예: 백그라운드 스크립트) 또는필요한 런타임이MID로 설정된 작업 스크립트 단계입니다.

    MIDHermesProducer - MIDHermesProducer()

    주제에 메시지를 전송하기 위한 MIDHermesProducerHermes 작성합니다.

    표 1. 매개변수
    이름 유형 설명
    없음

    이 예시에서는 MIDHermesProducer를 인스턴스화합니다.

    var producer = new MIDHermesProducer();

    MIDHermesProducer - 보내기(객체 옵션)

    MID 서버 에서 지정된 Hermes주제로 메시지를 보냅니다.

    주제에 Hermes 메시지를 보내려면 4000-4050 포트 범위를 열어야 합니다. 자세한 내용은 Producing and consuming messages from a Kafka client 문서를 참조하십시오.

    표 2. 매개변수
    이름 유형 설명
    옵션 객체 메시지에 대한 구성 매개변수를 포함합니다.
    {
       applicationId: "String",
       callbackFunction: function(),
       headers: {Object},
       key: "String",
       message: "String",
       topic: "String"
    }
    options.applicationId 문자열 옵션입니다. 주제 라우팅에 대한 애플리케이션 식별자입니다. 제공된 경우 메시지는 snc.{ instance}를 사용합니다. {applicationId}입니다. {topic}, 그렇지 않으면 snc로 라우팅됩니다.{ instance}를 사용합니다. {주제}입니다.
    options.onErrorCallback 함수 옵션입니다. 메시지 전달이 실패할 경우 실행할 JavaScript 함수입니다. 이 함수는 문자열 errorMessage 및 문자열 errorType (정규화된 Java 예외 클래스 이름)의 두 가지 매개변수를 허용합니다.
    function(errorMessage, errorType) { 
       //implement error handling here
    };
    옵션.헤더 객체 옵션입니다. 메시지 헤더에 대한 키-값 쌍입니다. 에서 지원하는 Apache Kafka 모든 헤더가 유효합니다.
    options.key 문자열 옵션입니다. 에서 파티셔닝 Apache Kafka을 위한 메시지 키입니다. 동일한 키를 가진 메시지는 동일한 파티션으로 전송되어 순서가 보장됩니다.
    옵션.메시지 문자열 주제에 보낼 메시지의 내용입니다. 문자열로 형식화된 모든 값이 유효합니다.
    옵션.주제 문자열 메시지를 보낼 주제의 Hermes 이름입니다.
    주:
    인스턴스 프리픽스를 포함하지 마십시오. 자동으로 추가됩니다.
    표 3. 반환
    유형 설명
    없음 이 메서드는 값을 반환하지 않습니다. 메시지 배달은 비동기식입니다.

    성공: 메시지가 Kafka 브로커에 Hermes 비동기적으로 전달됩니다. 배송 확인 로그를 확인합니다 MID 서버 .

    실패: 메시지 전달에 실패하면 오류 상세 정보와 함께 선택적 콜백 함수(제공된 경우)가 호출됩니다. 일반적인 오류는 다음과 같습니다.
    • org.apache.kafka.common.errors.TimeoutException: Kafka 브로커에 연결할 수 없거나 네트워크 문제가 있습니다. 부트스트랩 주소 및 포트에 대한 방화벽 규칙을 Hermes 확인합니다.
    • com.service_now.mid.hermes_api.exception.MIDHermesAPIExtensionNotStartedException: 확장이 시작되지 않았습니다. MID Hermes API 확장 컨텍스트가 활성 상태인지 확인합니다.
    • java.lang.IllegalArgumentException: 잘못된 매개변수입니다. 주제와 메시지가 제공되었는지 확인합니다.
    오류를 해결하기 위한 추가 단계:
    • MID Hermes API 확장이 UI에서 MID 서버 실행 중인지 검증합니다.
    • Hermes에 대한 네트워크 연결을 확인합니다.
    • 자세한 진단을 위해 속성 mid.hermes.debug=true 이 있는 로그를 검토 MID 서버 합니다.
    • 키 스토어에서 MID 서버 IPKI 인증서가 유효한지 확인합니다.

    이 예시에서는 주제에 Hermes 메시지를 보냅니다.

    // Create producer instance 
    var producer = new MIDHermesProducer(); 
    
    // Define error callback function 
    var errorCallback = function(errorMessage, errorType) {
        gs.error("Message delivery failed: " + errorType + " - " + errorMessage);
    }; 
    
    // Send message with all optional parameters 
    producer.send({ 
        topic: "order-events", 
        applicationId: "sn_streamconnect", 
        message: JSON.stringify({ 
            orderId: "ORD-12345", 
            status: "completed", 
            timestamp: new Date().getTime() 
        }), 
        key: "customer-456", 
        headers: { 
            "content-type": "application/json", 
            "source": "mid-server", 
            "version": "1.0" 
        }, 
        onErrorCallback: errorCallback 
    });

    메시지는 비동기적으로 전송됩니다. 배송 확인 로그를 확인합니다 MID 서버 .