4.22. AMQ Broker에 플러그인 등록
CR의 brokerProperties 속성에 플러그인을 등록하여 AMQ Broker의 기능을 확장할 수 있습니다.
프로세스
- 브로커 배포의 CR(사용자 정의 리소스)을 편집합니다.
brokerProperties속성에서 플러그인의 클래스 이름을 지정하고 플러그인의 속성을 정의하는 <key>=<value> 쌍의 쉼표로 구분된 문자열을 포함합니다.다음 예에서는 AMQ Broker와 함께 제공되는
LoggingActiveMQServerPlugin플러그인이 등록됩니다.spec: ... brokerProperties: - brokerPlugins.\"org.apache.activemq.artemis.core.server.plugin.impl.LoggingActiveMQServerPlugin.class\".init=LOG_CONNECTION_EVENTS=true,LOG_SESSION_EVENTS=true,LOG_CONSUMER_EVENTS=true ...CR을 저장합니다.
플러그인 인스턴스가 생성되면 init 메서드가 플러그인의 속성을 설정하는 데 사용되는 <key>=<value> 쌍을 포함하는 문자열을 전달합니다.
사용자 지정 플러그인을 생성하는 경우 플러그인 클래스의 JAR 파일이 브로커의 Java 클래스 경로에 있는지 확인합니다. 자세한 내용은 4.4절. “타사 JAR 파일 추가”의 내용을 참조하십시오.
4.22.1. brokerProperties 구성 분리 링크 복사링크가 클립보드에 복사되었습니다!
CR에 brokerProperties 섹션이 포함되어 있고 CR이 최대 크기 제한 1MB인 경우 brokerProperties 구성을 하나 이상의 Java 속성 파일로 분리할 수 있습니다. 또한 별도의 파일에서 brokerProperties 구성을 분리하여 유지 관리를 위해 brokerProperties 항목을 논리적으로 그룹화해야 할 수 있습니다.
프로세스
브로커에 적용할
brokerProperties구성이 포함된 Java 속성 형식으로 파일을 생성합니다. 속성 파일에서 각 속성을 별도의 줄에 추가합니다. 예를 들면 다음과 같습니다.securityRoles.address1.group2.send=true securityRoles.address2.group1.consume=true securityRoles.address2.group2.createAddress=true-
.properties확장자를 사용하여 파일을 저장합니다(예:securityRoles.properties). 생성한
.properties파일이 포함된 보안을 생성합니다.oc create secret generic address-settings-bp --from-file=securityRoles.properties참고시크릿 이름에는
-bp접미사가 있어야 합니다. 시크릿에-bp접미사가 있는 경우 Operator는 브로커가 브로커 Pod에 마운트된 디렉터리에서 속성 파일을 검색하도록 구성합니다.Operator가 각 브로커 Pod의 시크릿에 있는 속성 파일을 마운트하도록
extraMounts속성 속성의 보안에 대한 참조를 추가합니다.deploymentPlan: ... extraMounts: secrets: - "address-settings-bp" ...Operator는 시크릿에 있는
.properties파일을 각 브로커 Pod의/amq/extra/secrets/ <secret name> 디렉터리에 마운트합니다.시작 시 브로커는
.properties확장자가 있는 파일을 각각 마운트하고, 파일을 알파벳순으로 정렬하고, 파일의 구성을 차례로 적용합니다. 속성 파일 내에서 브로커는 속성이 나열된 순서대로 적용됩니다.