Loading...
Spring Framework Reference Documentation 7.0.2의 Using JSR-160 Connectors의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
원격 access를 위해 Spring JMX module은 서버-side와 클라이언트-side 커넥터를 생성하기 위한 두 개의 FactoryBean implementation을 org.springframework.jmx.support 패키지 안에 제공합니다.
Spring JMX가 JSR-160 JMXConnectorServer를 생성하고, 시작하고, expose하도록 하려면 다음 설정을 사용할 수 있습니다:
1<bean id="serverConnector" class="org.springframework.jmx.support.ConnectorServerFactoryBean"/>
기본적으로, ConnectorServerFactoryBean은 service:jmx:jmxmp://localhost:9875에 bound된 JMXConnectorServer를 생성합니다. 따라서 serverConnector 빈은 localhost의 port 9875에서 JMXMP 프로토콜을 통해 로컬 MBeanServer를 클라이언트에게 expose합니다.
JMXMP 프로토콜은 JSR 160 명세에서 optional로 표시되어 있다는 점에 유의하십시오. 현재 주요 오픈 소스 JMX implementation인 MX4J와 JDK에 포함된 implementation은 JMXMP를 지원하지 않습니다.
다른 URL을 지정하고 JMXConnectorServer 자체를 MBeanServer에 register하려면, 다음 예제에서 보듯이 각각 serviceUrl과 ObjectName 프로퍼티를 사용할 수 있습니다:
1<bean id="serverConnector" 2 class="org.springframework.jmx.support.ConnectorServerFactoryBean"> 3 <property name="objectName" value="connector:name=rmi"/> 4 <property name="serviceUrl" 5 value="service:jmx:rmi://localhost/jndi/rmi://localhost:1099/myconnector"/> 6</bean>
ObjectName 프로퍼티가 설정되어 있으면, Spring은 해당 ObjectName 아래에서 커넥터를 MBeanServer에 자동으로 register합니다. 다음 예제는 JMXConnector를 생성할 때 ConnectorServerFactoryBean에 전달할 수 있는 전체 parameter set을 보여줍니다:
1<bean id="serverConnector" 2 class="org.springframework.jmx.support.ConnectorServerFactoryBean"> 3 <property name="objectName" value="connector:name=iiop"/> 4 <property name="serviceUrl" 5 value="service:jmx:iiop://localhost/jndi/iiop://localhost:900/myconnector"/> 6 <property name="threaded" value="true"/> 7 <property name="daemon" value="true"/> 8 <property name="environment"> 9 <map> 10 <entry key="someKey" value="someValue"/> 11 </map> 12 </property> 13</bean>
RMI-based 커넥터를 사용할 때는 name registration이 완료되도록 lookup 서비스(tnameserv 또는 rmiregistry)가 시작되어 있어야 한다는 점에 유의하십시오.
원격 JSR-160-enabled MBeanServer에 대한 MBeanServerConnection을 생성하려면, 다음 예제에서 보듯이 MBeanServerConnectionFactoryBean을 사용할 수 있습니다:
1<bean id="clientConnector" class="org.springframework.jmx.support.MBeanServerConnectionFactoryBean"> 2 <property name="serviceUrl" value="service:jmx:rmi://localhost/jndi/rmi://localhost:1099/jmxrmi"/> 3</bean>
JSR-160은 클라이언트와 서버 사이에서 communication이 이루어지는 방식에 대한 확장을 허용합니다. 앞 절에서 보여준 예제들은 JSR-160 명세에서 요구하는 mandatory RMI-based implementation(IIOP 및 JRMP)과 (optional) JMXMP를 사용합니다.
다른 provider나 JMX implementation(예: MX4J)를 사용하면, 다음 예제에서 보듯이 단순 HTTP 또는 SSL 등을 통한 SOAP나 Hessian과 같은 프로토콜을 활용할 수 있습니다:
1<bean id="serverConnector" class="org.springframework.jmx.support.ConnectorServerFactoryBean"> 2 <property name="objectName" value="connector:name=burlap"/> 3 <property name="serviceUrl" value="service:jmx:burlap://localhost:9874"/> 4</bean>
위 예제에서는 MX4J 3.0.0을 사용했습니다. 더 많은 정보는 공식 MX4J 문서를 참조하십시오.
Controlling ObjectName Instances for Your Beans
Accessing MBeans through Proxies