307.6. 고급 사용 노트


307.6.1. 플러그형 연결 리소스 관리

SJMS2는 기본 제공 연결 풀링을 통해 JMS Connection 리소스 관리를 제공합니다. 이를 통해 타사 API 풀링 논리에 의존할 필요가 없습니다. 그러나 J2EE 또는 OSGi 컨테이너에서 제공하는 것과 같은 외부 연결 리소스 관리자를 사용해야 하는 경우가 있을 수 있습니다. 이 SJMS2에서는 내부 SJMS2 연결 풀링 기능을 재정의하는 데 사용할 수 있는 인터페이스를 제공합니다. 이 작업은 ConnectionResource 인터페이스를 통해 수행됩니다.

Connection Resource 는 필요에 따라 연결 풀을 SJMS2 구성 요소에 제공하는 데 사용되는 계약입니다. 사용자가 SJMS2를 외부 연결 풀링 관리자와 통합해야 하는 경우 를 사용해야 합니다.

표준 ConnectionFactory 공급자에 대해 SJMS2 as-is와 함께 제공된 ConnectionFactoryResource 구현을 사용하거나 이 구성 요소에 최적화되어 있으므로 확장하는 것이 좋습니다.

다음은 ActiveMQ PooledConnectionFactory 와 함께 연결 가능 ConnectionResource를 사용하는 예입니다.

public class AMQConnectionResource implements ConnectionResource {
    private PooledConnectionFactory pcf;

    public AMQConnectionResource(String connectString, int maxConnections) {
        super();
        pcf = new PooledConnectionFactory(connectString);
        pcf.setMaxConnections(maxConnections);
        pcf.start();
    }

    public void stop() {
        pcf.stop();
    }

    @Override
    public Connection borrowConnection() throws Exception {
        Connection answer = pcf.createConnection();
        answer.start();
        return answer;
    }

    @Override
    public Connection borrowConnection(long timeout) throws Exception {
        // SNIPPED...
    }

    @Override
    public void returnConnection(Connection connection) throws Exception {
        // Do nothing since there isn't a way to return a Connection
        // to the instance of PooledConnectionFactory
        log.info("Connection returned");
    }
}
Copy to Clipboard Toggle word wrap

그런 다음 ConnectionResourceSjms2Component 에 전달합니다.

CamelContext camelContext = new DefaultCamelContext();
AMQConnectionResource pool = new AMQConnectionResource("tcp://localhost:33333", 1);
Sjms2Component component = new Sjms2Component();
component.setConnectionResource(pool);
camelContext.addComponent("sjms2", component);
Copy to Clipboard Toggle word wrap

사용의 전체 예를 보려면 ConnectionResourceIT 를 참조하십시오.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat