我正在使用Wildfly 8.1.0.Final。
我已配置RecordingServerHandler
,它确实由网络服务的消息触发。问题是,默认情况下禁用LogRecorders。
默认处理器在创建时不处于录制模式,因此您需要通过其MBean接口将它们切换到录制模式(请参阅jmx控制台中的录制标记)。
在每个端点上逐个启用它们都不行,我需要在“开发时”全局启用它们。
同一篇文章说:
可以在堆栈bean配置中配置记录器
<!-- 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>
什么是“堆栈bean配置”?指定的WSLogRecorder
名称是否暗示此配置按该名称创建另一个非默认的LogRecorder,并且我需要以某种方式将其添加到所有端点?
答案 0 :(得分: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));
}