21.2. 글로벌 바인딩 구성


이름 지정 하위 시스템을 사용하면 java:global,java:jboss 또는 java 글로벌 JNDI 네임스페이스에 항목을 바인딩할 수 있지만 표준 이식 가능한 java:global 네임스페이스를 사용하는 것이 좋습니다.

글로벌 바인딩은 이름 지정 하위 시스템의 <bindings > 요소에서 구성됩니다. 다음 네 가지 유형의 바인딩이 지원됩니다.

간단한 바인딩 구성

간단한 XML 구성 요소는 기본 또는 java.net.URL 항목을 바인딩합니다.

  • name 속성은 필수이며 항목의 대상 JNDI 이름을 지정합니다.
  • value 속성은 필수이며 항목의 값을 정의합니다.
  • 기본값은 java.lang.String 이며 선택적 type 속성은 항목의 값 유형을 지정합니다. java.lang.String 외에도 기본 유형 및 해당 오브젝트 래퍼 클래스(예: int 또는 java.lang.Integer, java.net.URL )를 지정할 수 있습니다.

다음은 간단한 바인딩을 생성하는 관리 CLI 명령의 예입니다.

/subsystem=naming/binding=java\:global\/simple-integer-binding:add(binding-type=simple, type=int, value=100)

결과 XML 구성

<subsystem xmlns="{NamingSubsystemNamespace}">
    <bindings>
        <simple name="java:global/simple-integer-binding" value="100" type="int"/>
    </bindings>
    <remote-naming/>
</subsystem>

다음 명령을 사용하여 바인딩을 제거합니다.

/subsystem=naming/binding=java\:global\/simple-integer-binding:remove

바인딩 오브젝트 팩토리

object-factory XML 구성 요소는 jakarta.naming.spi.ObjectFactory 항목을 바인딩합니다.

  • name 속성은 필수이며 항목의 대상 JNDI 이름을 지정합니다.
  • class 속성은 필수이며 오브젝트 팩토리의 Java 유형을 정의합니다.
  • module 속성은 필수이며 오브젝트 팩토리 Java 클래스를 로드할 수 있는 JBoss 모듈 ID를 지정합니다.
  • 선택적 환경 하위 요소는 오브젝트 팩토리에 사용자 지정 환경을 제공하는 데 사용할 수 있습니다.

다음은 오브젝트 팩토리 바인딩을 생성하는 관리 CLI 명령의 예입니다.

/subsystem=naming/binding=java\:global\/foo\/bar\/factory:add(binding-type=object-factory, module=org.foo.bar, class=org.foo.bar.ObjectFactory, environment=[p1=v1, p2=v2])

결과 XML 구성

<subsystem xmlns="{NamingSubsystemNamespace}">
    <bindings>
        <object-factory name="java:global/foo/bar/factory" module="org.foo.bar" class="org.foo.bar.ObjectFactory">
            <environment>
                <property name="p1" value="v1" />
                <property name="p2" value="v2" />
            </environment>
        </object-factory>
    </bindings>
  </subsystem>

다음 명령을 사용하여 바인딩을 제거합니다.

/subsystem=naming/binding=java\:global\/foo\/bar\/factory:remove

외부 컨텍스트 바인딩

LDAP 컨텍스트와 같은 외부 JNDI 컨텍스트 통합은 external-context XML 구성 요소를 사용하여 수행됩니다.

  • name 속성은 필수이며 항목의 대상 JNDI 이름을 지정합니다.
  • class 속성은 필수이며 페더레이션 컨텍스트를 생성하는 데 사용되는 Java 초기 이름 지정 컨텍스트 유형을 나타냅니다. 이러한 유형에는 단일 환경 맵 인수가 있는 생성자가 있어야 합니다.
  • 선택적 모듈 속성은 외부 JNDI 컨텍스트에 필요한 모든 클래스를 로드할 수 있는 JBoss 모듈 ID를 지정합니다.
  • 기본값은 false 인 선택적 cache 속성은 외부 컨텍스트 인스턴스를 캐시해야 하는지 여부를 나타냅니다.
  • 선택적 환경 하위 요소를 사용하여 외부 컨텍스트를 조회하는 데 필요한 사용자 지정 환경을 제공할 수 있습니다.

다음은 외부 컨텍스트 바인딩을 생성하는 관리 CLI 명령의 예입니다.

/subsystem=naming/binding=java\:global\/federation\/ldap\/example:add(binding-type=external-context, cache=true, class=jakarta.naming.directory.InitialDirContext, module=org.jboss.as.naming, environment=[java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, java.naming.provider.url="ldap://ldap.example.com:389", java.naming.security.authentication=simple, java.naming.security.principal="uid=admin,ou=system", java.naming.security.credentials=secret])

결과 XML 구성

<subsystem xmlns="{NamingSubsystemNamespace}">
  <bindings>
    <external-context name="java:global/federation/ldap/example" module="org.jboss.as.naming" class="jakarta.naming.directory.InitialDirContext" cache="true">
      <environment>
        <property name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
        <property name="java.naming.provider.url" value="ldap://ldap.example.com:389"/>
        <property name="java.naming.security.authentication" value="simple"/>
        <property name="java.naming.security.principal" value="uid=admin,ou=system"/>
        <property name="java.naming.security.credentials" value="secret"/>
      </environment>
    </external-context>
  </bindings>
</subsystem>

다음 명령을 사용하여 바인딩을 제거합니다.

/subsystem=naming/binding=java\:global\/federation\/ldap\/example:remove
참고

lookup(Name) 메서드를 제대로 구현하지 않는 JNDI 공급자를 위한 리소스는 "jakarta.naming.InvalidNameException: only support CompoundName names" 오류가 발생할 수 있습니다.

외부 컨텍스트 환경이 다음 속성을 추가하여 대신 lookup(String) 메서드를 사용하도록 지정하여 이 문제를 해결할 수 있지만 이로 인해 성능이 저하될 수 있습니다.

<property name="org.jboss.as.naming.lookup.by.string" value="true"/>

검색 별칭 바인딩

lookup 요소를 사용하면 기존 항목을 추가 이름 또는 별칭에 바인딩할 수 있습니다.

  • name 속성은 필수이며 항목의 대상 JNDI 이름을 지정합니다.
  • lookup 속성은 필수이며 소스 JNDI 이름을 나타냅니다.

다음은 기존 항목을 별칭에 바인딩하는 관리 CLI 명령의 예입니다.

/subsystem=naming/binding=java\:global\/new-alias-name:add(binding-type=lookup, lookup=java\:global\/original-name)

결과 XML 구성

<lookup name="java:global/new-alias-name" lookup="java:global/original-name" />

다음 명령을 사용하여 바인딩을 제거합니다.

/subsystem=naming/binding=java\:global\/c:remove
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동