JNDI 데이터 소스를 사용하여 MongoDB에 연결
이 페이지의 내용
개요
이 가이드에서는 JNDI(Java 이름 지정 및 디렉토리 인터페이스) 데이터 소스를 사용하여 MongoDB Java 드라이버를 MongoDB 인스턴스에 연결하는 방법을 배울 수 있습니다.
MongoClientFactory에는 연결 URI를 기반으로 인스턴스를 반환하는 JNDIObjectFactory
구현 이 포함되어 MongoClient
있습니다. JNDI 데이터 소스를 사용하여 연결하도록 애플리케이션 을 구성하는 방법을 학습 보려면 다음 가이드를 참조하세요.
In the wildfly 에서 MongoDB용 새 모듈을
modules/system/layers/base/org/mongodb/main
만듭니다. 다음 Jar 파일을 모듈에 복사합니다.mongodb-driver-sync-4.9.1.jar
mongodb-driver-core-4.9.1.jar
bson-4.9.1.jar
bson-record-codec-4.9.1.jar
다음
module.xml
파일을 모듈에 추가합니다.<module xmlns="urn:jboss:module:1.3" name="org.mongodb"> <resources> <resource-root path="mongodb-driver-sync-4.1.0.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> <module name="javax.servlet.api" optional="true"/> </dependencies> </module> 이전 모듈,
MongoClientFactory
클래스 및 MongoDB cluster의 연결 문자열 을 참고하는 명명 하위 시스템 구성에 바인딩을 추가합니다.<subsystem xmlns="urn:jboss:domain:naming:2.0"> <bindings> <object-factory name="java:global/MyMongoClient" module="org.mongodb" class="com.mongodb.client.MongoClientFactory"> <environment> <property name="connectionString" value="<connection string uri>"/> </environment> </object-factory> </bindings> <remote-naming/> </subsystem> 참고
property
태그의 자리 표시자 연결 값을 MongoDB 설치를 점 값으로 바꿉니다.
이렇게 하면 java:global
컨텍스트에서 JNDI 이름 MyMongoClient
을(를) 통해 MongoClient 인스턴스에 액세스할 수 있습니다.
다음 Jar 파일을
lib
톰캣 의 디렉토리 에 복사합니다. 설치:mongodb-driver-sync-4.9.1.jar
mongodb-driver-core-4.9.1.jar
bson-4.9.1.jar
bson-record-codec-4.9.1.jar
context.xml
애플리케이션 의MongoClientFactory
파일 string 에서 클래스와 MongoDB 클러스터 의 연결 을 참조하는 리소스 를 추가합니다.<Resource name="mongodb/MyMongoClient" auth="Container" type="com.mongodb.client.MongoClient" closeMethod="close" factory="com.mongodb.client.MongoClientFactory" singleton="true" connectionString="<connection string uri>"/> 참고
connectionString
속성의 자리 표시자 URI를 MongoDB 설치를 가리키는 값으로 바꿉니다.애플리케이션의
web.xml
에 이전 단계에서 정의한MongoClientFactory
리소스에 대한 참조를 추가합니다.<resource-ref> <res-ref-name> mongodb/MyMongoClient </res-ref-name> <res-type> com.mongodb.MongoClient </res-type> <res-auth> Container </res-auth> </resource-ref>
이렇게 하면 java:comp/env
컨텍스트에서 JNDI 이름 mongodb/MyMongoClient
를 통해 MongoClient
인스턴스 에 액세스할 수 있습니다.
팁
다음도 참조하세요.
여기에 나열된 이외의 JNDI 구현의 경우 Factory
드라이버의 내장 MongoClientFactory 기반으로 자체 래퍼를 만들 수 있습니다. 구현합니다.