OSGi Metatype Service 확장기능

Liberty 런타임 환경 및 개발자 도구는 더 복잡한 구성을 수행하고 사용자 인터페이스에서 더 나은 프리젠테이션을 제공하기 위해 OSGi 메타유형 스펙에 대한 어느 정도의 확장을 인식합니다.

런타임 메타 유형 확장기능

다음 확장기능을 사용하려면 이 네임스페이스를 metatype.xml 파일에 추가하십시오.
xmlns:ibm="http://www.ibm.com/xmlns/appservers/osgi/metatype/v1.0.0"
ibm:alias

별명 확장기능은 사용자에게 익숙한 이름으로 구성을 정의하는 한편 server.xml 파일에서 구성 요소의 이름이 충돌하는 위험을 감소시키기 위해 사용합니다.

다음 예제에서는 ibm:alias 확장을 보여줍니다.

<OCD id="com.ibm.ws.jdbc.dataSource.properties"
		  		  name="%properties" 
		  		  description="%properties.desc"
    		ibm:alias="properties">
   <AD id="username".../>
</OCD>

이 예에서 properties는 구성에 지정된 사용자에게 익숙한 이름입니다. 별명은 ID와 달라야 합니다.

ibm:alias 항목을 server.xml 파일에서 사용할 때 접두부로 제품 확장기능의 이름이 지정되어야 합니다. 기본 사용자 위치에 설치된 확장기능의 제품 확장기능 이름은 usr입니다. wlp/etc/extension 디렉토리에서 extension-name.properties 파일을 사용하여 Liberty 프로파일 설치에 정의한 제품 확장기능의 경우 제품 확장기능의 이름은 extension-name에 사용하도록 선택한 이름입니다.

이전 예에 표시된 메타 유형의 경우, 기능이 기본 usr 위치에 설치되었으면 유효한 server.xml 항목의 예는 다음과 같습니다.
<usr_properties username="JANE"/>
<com.ibm.ws.jdbc.dataSource.properties username="JANE"/> 
ibm:type

표준 속성 유형은 메타 유형 스펙에 정의되어 있습니다. 여러 IBM® 확장 유형이 사용 가능합니다. 자세한 정보는 확장 유형의 내용을 참조하십시오.

ibm:reference

참조 속성은 PID가 참조하는 OCD 유형을 지정합니다. ibm:pid 유형과만 사용하며 server.xml 파일에 요소를 중첩하도록 지원합니다. 구성 요소 중첩의 내용을 참조하십시오.

다음 예제에서는 ibm:reference 확장을 보여줍니다.

<AD id="fooRef" type="String" ibm:type="pid" ibm:reference="com.ibm.ws.foo".../>
ibm:final

final 속성은 구성에 값을 지정할 수 없음을 표시합니다. 대신 메타 유형의 기본값을 항상 사용합니다. name="internal"을 사용하여 도구가 이 특성을 표시하지 않는다는 점을 표시하십시오.

다음 예제에서는 ibm:final 확장을 보여줍니다.

<AD id="foo" name="internal" ibm:final="true" type="String" default=${someVariable}"/>
ibm:variable

variable 속성은 값이 지정되지 않은 경우 기본값으로 사용할 변수를 지정하는 데 사용합니다. 다음과 같은 순서로 선택합니다.

  • server.xml에 지정된 값
  • 예를 들어, bootstrap.properties에 시스템 특성으로 지정된 값
  • 메타 유형의 기본값

다음 예제에서는 ibm:variable을 보여줍니다.

<AD id="traceString" ibm:variable="trace.string" default=*.all=enabled".../>
ibm:unique
unique 속성은 동일한 고유 속성 그룹을 사용하는 모든 속성 정의에서 구성 값이 고유해야 함을 표시합니다. 다음과 같은 고유 속성 그룹이 지원됩니다.
기본값 구문

기본 표현식에서 ${prop-name} 구문을 사용하여 기타 구성 특성으로부터 문자열을 구성합니다.

다음 예제에서는 기본값 구문을 보여줍니다.

<AD id="httpEndpoint.target"
		  		  name="internal" description="internal use only" 
		  		  ibm:final="true" required="false" type="String"
    		default="(&amp;(virtualHost=${id}) (enabled=true))"/>

확장 유형

Duration

duration 유형을 사용하여 시간을 표시합니다. 이 유형은 여러 시간 단위로 묘사합니다. 예를 들어, "1h30m"은 1시간 30분입니다. "1d5h10s"는 1일, 5시간 10초입니다. 단위는 세계화되어 있으므로 사용자 로컬 언어의 약어를 사용하여 값을 입력합니다.

영어의 경우 다음 목록에는 사용 가능한 단위가 표시됩니다.

  • d - 일
  • h - 시간
  • m - 분
  • s - 초
  • ms - 밀리초

기본적으로 유형 지속 기간을 사용하는 경우 사용자가 지정하는 값은 밀리초 단위로 평가됩니다. 예를 들어, "10s"는 사전에서는 10000의 긴 값입니다. 또한 사용자가 단위 없이 값을 지정하는 경우 이 값은 밀리초 단위로 평가됩니다. 예를 들어, "10" 값은 10밀리초로 평가됩니다. 그러나 다른 단위로 평가되도록 기간 유형을 지정할 수도 있습니다. 예를 들어, ibm:type="duration(s)"이 포함된 "10" 값은 10초로 평가되고 사전에서 10으로 저장됩니다.

다음 목록에서는 가능한 유형을 보여줍니다.

  • duration(h)
  • duration(m)
  • duration(s)
  • duration(ms)
  • duration

duration을 지정하는 것과 duration(ms)을 지정하는 것에는 차이가 없습니다.

참고:

우수 사례: 항상 값에 단위를 포함하고 가장 읽기 쉬운 단위로 값을 표현하십시오. 예를 들어, ibm:type="duration(s)"이 포함된 "7200" 값을 지정하는 대신 값을 "2h"로 지정하십시오.

다음 예는 duration 유형을 표시합니다.

  • <AD id="timeout" type="String" ibm:type="duration(s)".../>
  • <AD id="timeout" type="String" ibm:type="duration".../>
위치

UI 도구에서 location 유형을 사용하여 다양한 파일과 디렉토리 위치를 표시하는 여러 유용한 속성 표시를 제공할 수 있습니다. 런타임 환경의 처리에는 영향을 미치지 않습니다. 사전 오브젝트는 항상 String입니다.

다음 예는 가능한 유형을 보여줍니다.

location
파일을 참조합니다. 참조는 절대 파일, 상대 파일 또는 파일의 url일 수 있습니다.
location(file)
절대 또는 상대 파일 경로를 사용하여 파일을 참조합니다.
location(dir)
절대 또는 상대 파일 경로를 사용하여 디렉토리를 참조합니다.
location(url)
url의 끝에서 파일을 참조합니다.

다음 예제에서는 위치 유형을 보여줍니다.

<AD id="location" name="%appmgr.location.name" description="%appmgr.location.desc" type="String" required="true" ibm:type="location"/>
비밀번호입니다.

비밀번호 유형은 비밀번호 필드에 사용됩니다. 사용되면 사전 오브젝트가 com.ibm.wsspi.kernel.service.utils.SerializableProtectedString의 인스턴스입니다. 비밀번호 필드의 값은 추적 파일에 로깅되지 않습니다. 개발자 도구는 비밀번호 필드에 사용할 수 있는 인코딩 옵션을 표시합니다. 올바른 인코딩 옵션은 xoraes입니다.

다음 예제에서는 비밀번호 유형을 보여줍니다.

<AD id="password" type="String" ibm:type="password".../>
해시 비밀번호

passwordHash 유형은 password 유형과 유사하며 해시 비밀번호 필드에 사용됩니다. 사용되면 사전 오브젝트가 com.ibm.wsspi.kernel.service.utils.SerializableProtectedString의 인스턴스입니다. 해시 비밀번호 필드의 값은 추적 파일에 로깅되지 않습니다. 개발자 도구는 해시된 비밀번호 필드에 사용할 수 있는 인코딩 옵션을 표시합니다. 올바른 인코딩은 xor, aeshash입니다.

다음 매개변수와 함께 PasswordUtil.encode(String, String, Map) 메소드를 사용하여 해시 비밀번호에 대해 새 비밀번호를 유효성 검증하십시오.
  1. 새 비밀번호.
  2. PasswordUtil.getCryptoAlgorithm 메소드를 호출하여 얻는 해시 알고리즘. 해시 알고리즘은 해시된 비밀번호의 알고리즘과 일치해야 합니다.
  3. 특성 중 하나가 키에 대해 PasswordUtil.PROPERTY_HASH_ENCODED를 사용하고 값에 대해 해시된 비밀번호를 사용하는 특성 오브젝트.
PasswordUtil.encode의 리턴값이 해시된 비밀번호와 동일하면 비밀번호가 일치됩니다.

다음 예는 passwordHash 유형을 보여줍니다.

<AD id="hashedPassword" type="String" ibm:type="passwordHash".../>
Pid

pid 유형을 사용하여 구성에 있는 다른 오브젝트를 참조합니다. ibm:reference 속성과 함께 사용되며 server.xml에서 요소 중첩을 지원합니다. 구성 요소 중첩의 내용을 참조하십시오.

다음 예제에서는 pid 유형을 보여줍니다.

<AD id="fooRef" type="String" ibm:type="pid" ibm:reference="com.ibm.ws.foo".../>
OnError

onError 유형을 사용하면 사전에 onError 열거 인스턴스가 작성됩니다. 가능한 값은 WARN, FAIL 및 IGNORE입니다.

다음 예제에서는 onError 유형을 보여줍니다.

<AD id="errorBehavior" type="String" ibm:type="onError".../>

사용자 인터페이스 메타 유형 확장

다음 확장기능을 사용하려면 이 네임스페이스를 metatype.xml 파일에 추가하십시오.
xmlns:ibmui="http://www.ibm.com/xmlns/appservers/osgi/metatype/ui/v1.0.0"
ibmui:localization

localization 확장기능을 사용하여 메타 유형 자국어 지원 파일을 지정합니다. 메타 유형 자국어 지원 파일을 사용하여 레이블의 번역과 기타 UI 확장기능에 대한 설명을 검색합니다. 대부분의 경우 ibmui:localization 확장기능의 값은 <Metadata> 요소의 현지화 속성과 일치합니다.

다음 예제에서는 ibmui:localization 확장을 보여줍니다.

<OCD id="com.ibm.ws.jdbc.dataSource.properties"
		  		  name="%properties" 
		  		  description="%properties.desc"
    		ibmui:localization="OSGI-INF/l10n/metatype">
   <AD id="username".../>
</OCD>
ibmui:extraProperties

extraProperties 확장기능은 이 구성에 임의의 구성 속성 세트를 설정할 수 있음을 나타내는 데 사용합니다.

다음 예제에서는 ibmui:extraproperties 확장을 보여줍니다.

<OCD id="com.ibm.ws.jdbc.dataSource.properties"
		  		  name="%properties" 
		  		  description="%properties.desc"
    		ibmui:extraProperties="true">
   <AD id="username".../>
</OCD>

확장기능과 연관된 레이블 및 설명은 메타 유형 자국어 지원 파일에서 검색합니다(ibmui:localization 확장기능을 사용하여 파일이 지정된 경우). 확장 레이블의 경우 먼저 extraProperties.<ocd id>.name을 검사한 후 extraProperties.name 키를 검사합니다. 확장 설명의 경우 extraProperties.<ocd id>.description을 먼저 검사한 후 extraProperties.description 키를 검사합니다.

ibmui:group

group 확장기능은 속성이 그룹에 속함을 지정하는 데 사용합니다. 사용자 인터페이스에서 동일한 그룹의 어노테이션이 있는 속성을 그룹화합니다.

다음 예는 ibmui:group 확장을 보여줍니다.

  • <AD id="username" ibmui:group="userInfo".../>
  • <AD id="password" ibmui:group="userInfo".../>
  • <AD id="port" ibmui:group="hostInfo".../>

그룹 레이블 및 설명 정보는 메타 유형 자국어 지원 파일에서 검색합니다(ibmui:localization 확장기능을 사용하여 파일이 지정된 경우). 그룹 레이블의 경우 먼저 <group>.<ocd id>.name을 검사한 후 <group>.name 키를 검사합니다. 그룹 설명의 경우 먼저 <group>.<ocd id>.description을 검사한 후 <group>.description 키를 검사합니다.


주제의 유형을 표시하는 아이콘 참조 주제

Information Center 이용 약관 | 피드백


시간소인 아이콘 마지막 업데이트 날짜: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=rwlp_extensions_osgi_metatype
파일 이름: rwlp_extensions_osgi_metatype.html