Apache Camel의 가장 큰 강점이자 처음에 압도되는 이유가 300개 이상의 컴포넌트입니다. 체계적인 분류를 이해하면 필요한 컴포넌트를 빠르게 찾을 수 있습니다.
어떤 컴포넌트를 선택할지 결정하는 체계적인 기준입니다.
필요한 컴포넌트가 없다면 직접 만들 수 있습니다. Camel의 컴포넌트 SPI를 구현합니다.
// 커스텀 컴포넌트의 기본 구조
public class MyComponent extends DefaultComponent {
@Override
protected Endpoint createEndpoint(String uri, String remaining,
Map<String> parameters) throws Exception {
MyEndpoint endpoint = new MyEndpoint(uri, this);
setProperties(endpoint, parameters);
return endpoint;
}
}
public class MyEndpoint extends DefaultEndpoint {
@Override
public Producer createProducer() throws Exception {
return new MyProducer(this);
}
@Override
public Consumer createConsumer(Processor processor) throws Exception {
return new MyConsumer(this, processor);
}
}
// META-INF/services/org/apache/camel/component/my-component 파일에 등록
// com.example.MyComponent // 커스텀 컴포넌트 테스트
public class MyComponentTest extends CamelTestSupport {
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
context.addComponent("my-component", new MyComponent());
return context;
}
@Test
public void testMyComponent() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedBodiesReceived("처리완료");
template.sendBody("my-component:test", "입력데이터");
mock.assertIsSatisfied();
}
} 300개 컴포넌트는 전 세계 수천 명의 기여자가 만들었습니다. 버그를 발견하거나 새 컴포넌트가 필요하면 GitHub에서 직접 기여할 수 있습니다. Apache Camel의 기여 가이드는 초보자도 따라할 수 있도록 잘 정리되어 있습니다. 오픈소스 기여는 경력 개발에도 도움이 됩니다.
국내 금융권에서 AI를 이용한 해킹과 대규모 정보유출이 잇따르자, 은행들이 이제 해외 법인과 지점의 보안까지 다시…
서울 전역이 토지거래허가구역으로 묶인 지 1년이 됐습니다. 집을 못 팔게 막으면 값이 내려갈 거라는 기대도…
어제 5거래일 연속으로 밀렸던 코스피가 오늘 아침 확 반등했습니다. 오전 9시 12분 기준 코스피는 6,165.02로…
AI 이야기는 이제 "어떤 모델이 더 똑똑한가"에서 "누가 계산 자원을 더 싸고 안정적으로 쥐고 있나"로…
어제 코스피가 하루에 348.89포인트, 5.46% 빠지면서 6,035.35로 마감했습니다. 장중에는 5,911선까지 밀렸다가 겨우 6,000선 위로 올라왔는데요,…