2014-11-26 5 views
1

나는 Wildfly 8.1.0. 최종을 사용하고 있습니다.JBossWS의 LogRecorders를 전역 적으로 활성화하는 방법은 무엇입니까?

RecordingServerHandler이 구성되었으므로 웹 서비스 메시지에 의해 트리거됩니다. 문제는 LogRecorders가 기본적으로 비활성화되어 있다는 것입니다.

Records management article는 말한다 :

기본 프로세서 따라서 당신은 자신의 MBean 인터페이스를 통해 녹화 모드로 전환합니다 (JMX 콘솔에 기록 플래그를 참조) 할 필요가 생성시에 녹화 모드에 있지 않습니다.

각 끝점에 대해 런타임에 하나씩 활성화하면 "개발 시점"에 전역 적으로 활성화해야합니다.

같은 기사는 말한다 :

레코더는 "빈 설정을 스택"무엇 스택 빈 구성

<!-- Installed Record Processors--> 
<bean name="WSMemoryBufferRecorder" class="org.jboss.wsf.framework.management.recording.MemoryBufferRecorder"> 
    <property name="recording">false</property> 
</bean> 
<bean name="WSLogRecorder" class="org.jboss.wsf.framework.management.recording.LogRecorder"> 
    <property name="recording">false</property> 
</bean> 

에서 구성 할 수 있습니다? 지정된 WSLogRecorder 이름은이 구성이 기본이 아닌 다른 이름의 LogRecorder를 그 이름으로 작성한다는 것을 의미하며 모든 끝점에 어떻게 든 추가해야합니까?

답변

0

배포가 끝날 ​​때 JMX를 통해 활성화 할 수있게되었습니다.

import java.lang.management.ManagementFactory; 
import java.util.Set; 

import javax.management.Attribute; 
import javax.management.MBeanServer; 
import javax.management.ObjectName; 

/* ... */ 

MBeanServer server = ManagementFactory.getPlatformMBeanServer(); 
Set<ObjectName> recorderNames = server.queryNames(
     new ObjectName("jboss.ws:recordProcessor=LogRecorder,*"), null); 
for (ObjectName recorderName : recorderNames) { 
    server.setAttribute(recorderName, new Attribute("Recording", true)); 
} 
+0

또한 다음이 있습니다. https://issues.jboss.org/browse/JBWS-3864 –