首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在全球范围内启用JBossWS‘LogRecorders?

如何在全球范围内启用JBossWS‘LogRecorders?
EN

Stack Overflow用户
提问于 2014-11-26 16:54:46
回答 1查看 205关注 0票数 1

我用的是野蝇8.1.0。

我配置了RecordingServerHandler,它确实是由web服务的消息触发的。问题是,默认情况下,LogRecorders是禁用的。

记录管理文章说:

默认处理器在创建时不处于记录模式,因此需要通过它们的MBean接口将它们切换到记录模式(请参阅jmx-控制台中的记录标志)。

在运行时为每个端点一个一个地启用它们是行不通的,我需要在“开发时”启用它们。

同一篇文章说:

可以在堆栈bean配置中配置记录器。

代码语言:javascript
运行
复制
<!-- 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,并且需要以某种方式将其添加到所有端点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-24 13:25:26

最后在部署结束时通过JMX启用它们。

代码语言:javascript
运行
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27154705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档