如何在Glassfish上禁用Metro?

时间:2011-02-13 10:56:55

标签: glassfish cxf glassfish-3 java-metro-framework

无论如何,我可以告诉glassfish 3禁用地铁吗? 我目前正在使用CXF作为我的库。 CXF正在发挥作用,但它也在发布自己的网络服务。

无论如何,我可以告诉glassfish不要发布这些额外的网络服务吗? 这些是由@WebService

注释的benans

我尝试声明一个包含此内容的sun-web.xml,但它仍无法正常工作

       

Glassfish 3我自动发布它,它创建了两个Web服务实例而不是一个。

非常感谢

2 个答案:

答案 0 :(得分:1)

如果没有此sun-web.xml文件来配置类加载器,CXF拦截器将无法在Glassfish中运行。默认情况下,Glassfish将使用Metro进行JAX-WS服务,因此需要配置类加载器以允许CXF库提供JAX-WS服务。以下sun-web.xml xml源已添加到/ WEB-INF以解决此问题:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sun-web-app PUBLIC '-//Sun Microsystems, Inc.//DTD 
Application Server 9.0 Servlet 2.5//EN' 
'http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd'> 
<sun-web-app> 
<class-loader delegate="false"/> 
</sun-web-app>

来自CXF网站的解释: http://cxf.apache.org/docs/application-server-specific-configuration-guide.html#ApplicationServerSpecificConfigurationGuide-Glassfish

答案 1 :(得分:1)

要禁用Metro监控,请转到管理控制台,配置 - &gt; server-config,并添加以下JVM选项:

-Dcom.sun.xml.ws.monitoring.endpoint =假

重新启动服务器以应用此设置。