263.27. 사용자 정의 함수 사용
Camel 2.14.1로 사용 가능
속성 구성 요소를 사용하면 속성 자리 표시자의 구문 분석 중에 사용할 수 있는 타사 기능을 플러그인할 수 있습니다. 그런 다음 이러한 함수는 사용자 지정 논리를 수행하여 데이터베이스 검색, 사용자 지정 계산 또는 기타 항목과 같은 자리 표시자를 해결할 수 있습니다. 함수의 이름은 자리 표시자에 사용되는 접두사가 됩니다. 이는 아래 예제 코드에서 가장 잘 설명되어 있습니다.
camel 2.19.0 에서 위치 속성( propertyPlaceholder 태그에 있음)은 더 이상 필수 사항이 아닙니다.
여기에는 사용자 지정 함수를 사용하기 위해 < propertyPlaceholder
>를 정의하는 Camel XML 경로가 있습니다. 이 경로는 ingress id로 참조됩니다(예: beerFunction
). beer 함수가 이름으로 "beer"
를 사용하므로 자리 표시자 구문은 beer:value
로 시작하여 beer 함수를 트리거할 수 있습니다.
함수의 구현은 아래와 같이 두 가지 방법일 뿐입니다.
함수는 org.apache.camel.component.properties.PropertiesFunction
인터페이스를 구현해야 합니다. 메서드 getName
은 함수의 이름, 즉 eg beer입니다. apply
방법은 사용자 지정 논리를 구현할 위치입니다. 샘플 코드는 단위 테스트에서 있으므로 mock 끝점을 참조하는 값을 반환합니다.
Java 코드에서 사용자 정의 함수를 등록하는 방법은 다음과 같습니다.
PropertiesComponent pc = context.getComponent("properties", PropertiesComponent.class); pc.addFunction(new MyBeerFunction());
PropertiesComponent pc = context.getComponent("properties", PropertiesComponent.class);
pc.addFunction(new MyBeerFunction());