7장. JMS 연결 팩토리 사용


이 장에서는 OSGi에서 JMS 연결 팩토리를 사용하는 방법을 설명합니다. 기본적으로 다음을 사용하여 수행합니다.

org.osgi.framework.BundleContext.registerService(javax.jms.ConnectionFactory.class,
                                                 connectionFactoryObject,
                                                 properties);
org.osgi.framework.BundleContext.registerService(javax.jms.XAConnectionFactory.class,
                                                 xaConnectionFactoryObject,
                                                 properties);

이러한 서비스를 등록하는 방법은 다음 두 가지가 있습니다.

  • jms:create Karaf console 명령을 사용하여 연결 팩토리 게시. 구성 방법입니다.
  • 블루프린트, OSGi 선언 서비스(SCR) 또는 BundleContext.registerService() API 호출과 같은 방법을 사용하여 연결 팩토리 게시. 이 메서드에는 코드 및/또는 메타데이터가 포함된 전용 OSGi 번들이 필요합니다. 배포 방법입니다.

자세한 내용은 다음 항목에 있습니다.

7.1. OSGi JMS 서비스 정보

JDBC 데이터 소스를 처리하는 OSGi 방법은 다음 두 인터페이스와 관련이 있습니다.

  • standard org.osgi.service.jdbc.DataSourceFactory
  • proprietary org.ops4j.pax.jdbc.pool.common.PooledDataSourceFactory

JMS의 경우 다음 유추를 고려하십시오.

  • 표준 OSGi JDBC org. osgi.service.jdbc.DataSourcefactory와 동일한 목적을 가진 전용 org.ops4j.pax.jms.service.ConnectionFactoryfactory
  • 독점 org.ops4j.pax.jms.service.PooledConnectionFactory factory 전용 pax-jdbc org.ops4j.pax.jdbc.pool.common.PooledDataSourceFactory와 동일한 용도

전용 브로커별 org.ops4j.pax.jms.service.ConnectionFactoryFactory 구현의 경우 다음과 같은 번들이 있습니다.

  • mvn:org.ops4j.pax.jms/pax-jms-artemis/1.0.0
  • mvn:org.ops4j.pax.jms/pax-jms-ibmmq/1.0.0
  • mvn:org.ops4j.pax.jms/pax-jms-activemq/1.0.0

이러한 번들은 javax. jms.ConnectionFactory Factory 및 javax.jms.XAConnectionFactory 와 같은 JMS 팩토리 를 반환할 수 있는 브로커별 org.ops4j.pax.jms.service.ConnectionFactoryfactory 서비스를 등록합니다. 예를 들면 다음과 같습니다.

karaf@root()> feature:install pax-jms-artemis

karaf@root()> bundle:services -p org.ops4j.pax.jms.pax-jms-config

OPS4J Pax JMS Config (248) provides:
------------------------------------
objectClass = [org.osgi.service.cm.ManagedServiceFactory]
service.bundleid = 248
service.id = 328
service.pid = org.ops4j.connectionfactory
service.scope = singleton

karaf@root()> bundle:services -p org.ops4j.pax.jms.pax-jms-artemis

OPS4J Pax JMS Artemis Support (247) provides:
---------------------------------------------
objectClass = [org.ops4j.pax.jms.service.ConnectionFactoryFactory]
service.bundleid = 247
service.id = 327
service.scope = singleton
type = artemis
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.