217.17. 사용자 정의 SearchTerm 사용
Camel 2.11에서 사용 가능
원하지 않는 이메일을 필터링할 수 있는 mailend
point에서 searchTerm
을 구성할 수 있습니다.
예를 들어 제목 또는 text에 Camel을 포함하도록 이메일을 필터링하려면 다음과 같이 수행할 수 있습니다.
<route> <from uri="imaps://mymailseerver?username=foo&password=secret&searchTerm.subjectOrBody=Camel"/> <to uri="bean:myBean"/> </route>
<route>
<from uri="imaps://mymailseerver?username=foo&password=secret&searchTerm.subjectOrBody=Camel"/>
<to uri="bean:myBean"/>
</route>
"searchTerm.subjectOrBody"
를 매개변수 키로 사용하여 "Camel"이라는 단어를 포함하기 위해 이메일 주체 또는 본문에서 검색하고자 함을 나타냅니다.
org.apache.camel.component.mail.SimpleSearchTerm
에는 구성할 수 있는 여러 옵션이 있습니다.
또는 새로운 보이지 않는 이메일이 24 시간 내에 돌아가도록하십시오. "now-24h" 구문을 확인합니다. 자세한 내용은 아래 표를 참조하십시오.
<route> <from uri="imaps://mymailseerver?username=foo&password=secret&searchTerm.fromSentDate=now-24h"/> <to uri="bean:myBean"/> </route>
<route>
<from uri="imaps://mymailseerver?username=foo&password=secret&searchTerm.fromSentDate=now-24h"/>
<to uri="bean:myBean"/>
</route>
끝점 uri 구성에 여러 searchTerm이 있을 수 있습니다. 그런 다음 AND 연산자를 사용하여 결합되므로 두 조건이 모두 일치해야 합니다. 예를 들어 이메일 제목에 Camel이 포함된 마지막 눈에 보이지 않는 이메일이 24시간 다시 돌아가도록 하려면 다음을 수행할 수 있습니다.
<route> <from uri="imaps://mymailseerver?username=foo&password=secret&searchTerm.subject=Camel&searchTerm.fromSentDate=now-24h"/> <to uri="bean:myBean"/> </route>
<route>
<from uri="imaps://mymailseerver?username=foo&password=secret&searchTerm.subject=Camel&searchTerm.fromSentDate=now-24h"/>
<to uri="bean:myBean"/>
</route>
SimpleSearchTerm
은ECDHE에서 쉽게 구성할 수 있도록 설계되었으므로 XML에서 <bean> 스타일을 사용하여 구성할 수도 있습니다.
<bean id="mySearchTerm" class="org.apache.camel.component.mail.SimpleSearchTerm"> <property name="subject" value="Order"/> <property name="to" value="acme-order@acme.com"/> <property name="fromSentDate" value="now"/> </bean>
<bean id="mySearchTerm" class="org.apache.camel.component.mail.SimpleSearchTerm">
<property name="subject" value="Order"/>
<property name="to" value="acme-order@acme.com"/>
<property name="fromSentDate" value="now"/>
</bean>
그런 다음 다음과 같이 Camel 경로에 #beanId를 사용하여 이Bean을 참조할 수 있습니다.
<route> <from uri="imaps://mymailseerver?username=foo&password=secret&searchTerm=#mySearchTerm"/> <to uri="bean:myBean"/> </route>
<route>
<from uri="imaps://mymailseerver?username=foo&password=secret&searchTerm=#mySearchTerm"/>
<to uri="bean:myBean"/>
</route>
Java에는 org.apache.camel.component.mail.SearchTermBuilder
클래스를 사용하여 복합 SearchTerms
를 빌드하는 빌더 클래스가 있습니다. 이를 통해 다음과 같은 복잡한 용어를 작성할 수 있습니다.