Spring Framework에서 JMX 및 MBeans
WebSphere® Application Server 버전 6.1 이상은 Spring Java™ Management Extensions(JMX) MBeans를 지원합니다.
JMX 및 MBeans
Spring JMX MBeans 지원을 사용하려면 JMX MBeans을 애플리케이션 서버에서 컨테이너 관리자의 MBeanServer 인스턴스에 등록해야 합니다. MBean의 서버 특성을 지정하지 않으면 MBeanExporter 오브젝트는 실행 중인 MBeanServer 인스턴스를 감지하려고 시도합니다. 그러므로 애플리케이션 서버에서 실행되는 애플리케이션의 경우 Spring Framework는 컨테이너의 MBeanServer 인스턴스를 찾으려고 합니다.
MBeanServer 인스턴스를 인스턴스화한 다음 이 인스턴스를 MBeanExporter 오브젝트로 인젝션하기 위해 MBeanServerFactory 클래스를 사용하지 마십시오. 또한 인바운드 JMX 포트를 열어서 로컬 MBeanServer 인스턴스를 클라이언트에 노출하기 위해 Spring Framework ConnectorServerFactoryBean 또는 JMXConnectorServer 클래스를 사용하지 마십시오.
Spring MBeans을 애플리케이션 서버에 등록
WebSphere:cell=99T73GDNode01Cell,name=JmxTestBean,node=99T73GDNode01,process=server1,
type=JmxTestBeanImpl
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter"
lazy-init="false">
<property name="beans">
<map> <entry key="JmxTestBean" value-ref="testBean" /> </map>
</property>
<property name="namingStrategy" ref="websphereNamingStrategy" />
...
</bean>
MBeans 및 알림
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter"
lazy-init="false">
<property name="beans">
<map>
<entry key="JmxTestBean" value-ref="testBean" />
</map>
</property>
<property name="namingStrategy" ref="websphereNamingStrategy" />
<property name="notificationListenerMappings">
<map>
<entry key="WebSphere:cell=99T73GDNode01Cell, name=JmxTestBean,
node=99T73GDNode01, process=server1, type=JmxTestBeanImpl">
<bean class="client.MBeanListener" />
</entry>
</map>
</property>
</bean>
![[z/OS]](../images/ngzos.gif)
z/OS®에서 Spring JMX 및 다중 호출 메소드
WebSphere Application Server 버전 6.1 이상은 다중 하위(servant) 영역 서버에서 Spring JMX를 지원합니다. 그러나 배치 옵션은 제한되어 있습니다. MBean 디스크립터에서 Spring Framework를 사용하여 플랫폼별 필드를 지정할 수 없기 때문입니다. 애플리케이션 서버는 기본적으로 unicall 계획을 사용합니다. 그러면 하나의 중간 하위(servant) 영역에서 MBean의 단 하나의 인스턴스만이 요청을 실행하기 위해 요청받습니다. 일부 시나리오에서는 이 동작이 적합하지만 대개는 애플리케이션이 multicall 및 unicall 메소드의 조합을 선언하고 일부 집계 논리를 포함해야 합니다.