2.41. JSLT


JSLT를 사용하여 JSON 페이로드를 쿼리하거나 변환합니다.

2.41.1. 내부 내용

사용 및 설정 세부 사항은 위의 링크를 참조하십시오.

2.41.2. Maven 조정

code.quarkus.redhat.com에서 이 확장 기능을 사용하여 새 프로젝트를 생성합니다.

또는 기존 프로젝트에 좌표를 추가합니다.

<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-jslt</artifactId>
</dependency>
Copy to Clipboard Toggle word wrap

2.41.3. 기본 모드에서 allowContextMapAll 옵션

allowContextMapAll 옵션은 보안에 민감한 camel Core 클래스에 반영 액세스가 필요하기 때문에 기본 모드에서 지원되지 않습니다. 이는 보안 위험으로 간주되므로 기능에 대한 액세스는 기본적으로 제공되지 않습니다.

2.41.4. 추가 Camel Quarkus 구성

2.41.4.1. 기본 모드에서 classpath에서 JSLT 템플릿 로드

이 구성 요소는 일반적으로 classpath에서 템플릿을 로드합니다. 네이티브 모드에서도 작동하도록 하려면 quarkus.native.resources.includes 속성을 사용하여 네이티브 실행 파일에 템플릿 파일을 명시적으로 포함해야 합니다.

예를 들어 아래 경로는 transformation.json 이라는 classpath 리소스에서 JSLT 스키마를 로드합니다.

from("direct:start").to("jslt:transformation.json");
Copy to Clipboard Toggle word wrap

네이티브 이미지에 이( .json 파일에 저장된 다른 템플릿)를 포함하려면 다음과 같은 항목을 application.properties 파일에 추가해야 합니다.

quarkus.native.resources.includes = *.json
Copy to Clipboard Toggle word wrap

2.41.4.2. 기본 모드에서 JSLT 함수 사용

기본 모드에서 JSLT 함수를 사용할 때 함수를 호스팅하는 클래스는 리플렉션을 위해 등록되어야 합니다. target 함수를 등록할 수 없는 경우 다음과 같이 스텁을 작성할 수 있습니다.

@RegisterForReflection
public class MathFunctionStub {
    public static double pow(double a, double b) {
        return java.lang.Math.pow(a, b);
    }
}
Copy to Clipboard Toggle word wrap

대상 함수 Math.pow(…​) 는 이제 다음과 같이 구성 요소에 등록할 수 있는 MathFunctionStub 클래스를 통해 액세스할 수 있습니다.

@Named
JsltComponent jsltWithFunction() throws ClassNotFoundException {
    JsltComponent component = new JsltComponent();
    component.setFunctions(singleton(wrapStaticMethod("power", "org.apache.cq.example.MathFunctionStub", "pow")));
    return component;
}
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat