OSGi Metatype Service 확장기능

Liberty 런타임 환경과 개발자 도구는 사용자 인터페이스에서 더 나은 프리젠테이션을 제공하고 더 복잡한 구성을 위해 OSGI Metatype 스펙이 일부 확장되었음을 인식합니다.

런타임 메타 유형 확장기능

다음 확장기능을 사용하려면 이 네임스페이스를 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"/>
Password

비밀번호 유형은 비밀번호 필드에 사용됩니다. 사용되면 사전 오브젝트가 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".../>
토큰

토큰 유형은 구성에 지정된 값에서 문자열 앞이나 뒤에 나타나는 공백을 잘라야 함을 표시하는 데 사용됩니다.

다음 예는 토큰 유형을 사용하여 정의된 속성을 표시합니다.

<AD id="name" type="String" ibm:type="token" .../>

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

다음 확장기능을 사용하려면 이 네임스페이스를 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 키를 검사합니다.


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



시간소인 아이콘 마지막 업데이트 날짜: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwlp_extensions_osgi_metatype
파일 이름: rwlp_extensions_osgi_metatype.html