设为首页 收藏本站
查看: 1018|回复: 0

[经验分享] Jetty用spring bean格式配置hotdeploy不生效

[复制链接]

尚未签到

发表于 2017-2-27 06:21:20 | 显示全部楼层 |阅读模式
【问题】jetty独立启动使用原生的xml格式,hotdeploy是ok的,
但是embedded到mq中,采用spring bean格式,配置报错,但配置应该是正确的。

spring bean配置段如下:放置在server bean配置属性中。
/////////begin///////
<!--  hotdeploy =begin= -->
<property name="bean">
<list>
<bean id="deploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
<property name="contexts" ref="contexts"/>
<property name="appProviders">
<list>
<bean id="webAppProvider" class="org.eclipse.jetty.deploy.providers.WebAppProvider">
<property name="monitoredDirName" value="webapps"/>
<property name="scanInterval" value="1"/>
<property name="extractWars" value="true"/>
</bean>
</list>
</property>
</bean>
</list>
</property>
<!--  hotdeploy =end= -->
/////////end/////////

生效的hotdeploy
///////////begin////////
[iyunv@rfstdlinux165 bin]# grep Deploy ./jmap_01.txt
436:             5            160  org.eclipse.jetty.deploy.DeploymentManager$AppEntry
441:             2            160  org.eclipse.jetty.deploy.DeploymentManager
743:             2             32  org.eclipse.jetty.deploy.bindings.StandardDeployer
[iyunv@rfstdlinux165 bin]# grep Webapp ./jmap_01.txt
[iyunv@rfstdlinux165 bin]# grep WebApp ./jmap_01.txt
201:             4           1152  org.eclipse.jetty.webapp.WebAppContext
325:             4            384  org.eclipse.jetty.webapp.WebAppClassLoader
410:             2            192  org.eclipse.jetty.deploy.providers.WebAppProvider
529:             4             96  org.eclipse.jetty.webapp.WebAppContext$Context
763:             2             32  org.eclipse.jetty.deploy.providers.WebAppProvider$Filter
//////////end///////////

不起作用的hotdeploy
///////////begin///////////
[iyunv@rfstdlinux165 bin]# grep WebApp ./jmap_local_01.txt
506:             3            864  org.eclipse.jetty.webapp.WebAppContext
779:             3            288  org.eclipse.jetty.webapp.WebAppClassLoader
807:             2            256  org.springframework.web.context.support.XmlWebApplicationContext
1214:             1             96  org.eclipse.jetty.deploy.providers.WebAppProvider
1267:             3             72  org.eclipse.jetty.webapp.WebAppContext$Context
1649:             2             32  org.springframework.web.context.support.WebApplicationContextUtils$WebRequestObjectFactory
1666:             2             32  org.springframework.web.context.support.WebApplicationContextUtils$RequestObjectFactory
1705:             2             32  org.springframework.web.context.support.WebApplicationContextUtils$SessionObjectFactory
2062:             1             16  org.eclipse.jetty.deploy.providers.WebAppProvider$Filter
[iyunv@rfstdlinux165 bin]# grep Deploy ./jmap_local_01.txt
1246:             1             80  org.eclipse.jetty.deploy.DeploymentManager
///////////end/////////////
【分析】
1、从内存对象看,StandardDeployer类没有被加载到==>???
2、使用AMQ原有的配置文件,进行同样的配置,hotdeploy提示同样的配置错误,
   不支持<property name="beans">吗?
3、http://wiki.eclipse.org/Jetty/Feature/Deployment_Manager
jetty原生的deployManager配置有两种:
3.1>>>
///////////begin////////
<Configure id="Server" class="org.eclipse.jetty.server.Server">
        <Ref id="DeploymentManager">
          <Call name="addAppProvider">
            <Arg>
              <New class="org.eclipse.jetty.deploy.providers.ContextProvider">
                <Set name="monitoredDirName"><Property name="jetty.home" default="." />/contexts</Set>
                <Set name="scanInterval">1</Set>
              </New>
            </Arg>
          </Call>
        </Ref>
</Configure>
////////////end///////////
3.2>>>
////////////begin/////////
<Configure id="Server" class="org.eclipse.jetty.server.Server">

    <Call name="addBean">
      <Arg>
        <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
          <Set name="contexts">
            <Ref id="Contexts" />
          </Set>
          <Call name="setContextAttribute">
            <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
            <Arg>.*/.*jsp-api-[^/]*\.jar$|.*/.*jsp-[^/]*\.jar$|.*/.*taglibs[^/]*\.jar$</Arg>
          </Call>
         
        </New>
      </Arg>
    </Call>
</Configure>
////////////end////////////
4、Server类内部属性有:
   4.1、Connector[] _connectors
   4.2、ThreadPool _threadPool
   4.3、String __version
   4.4、AttributesMap _attributes
   4.5、Container _container
   4.6、SessionIdManager _sessionIdManager
   4.7、boolean _sendServerVersion
   4.8、boolean _sendDateHeader
   4.9、boolean _stopAtShutdown
   4.10、Handler _handler
   4.11、Server _server
   其中没有DeploymentManager或者bean的get方法。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-347556-1-1.html 上篇帖子: 利用jetty实现超轻量级web开发 下篇帖子: elasticsearch使用jetty进行简单的权限控制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表