`
can_do
  • 浏览: 266248 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Jetty用spring bean格式配置hotdeploy不生效

阅读更多
【问题】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////////
[root@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
[root@rfstdlinux165 bin]# grep Webapp ./jmap_01.txt
[root@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///////////
[root@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
[root@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方法。
分享到:
评论

相关推荐

    jetty 整合spring+mybatis

    4. **Spring与MyBatis整合**:在Spring配置文件中,使用`mybatis-spring`库提供的`SqlSessionFactoryBean`和`MapperScannerConfigurer`,这样Spring可以管理MyBatis的SqlSession和Mapper接口。 5. **创建业务服务和...

    jetty在eclipse中配置

    你可以选择"Use Tomcat installation"(让Eclipse管理Jetty安装)或"Use workspace metadata"(不修改Jetty安装)。对于开发而言,后者更方便。 6. **运行和调试Web应用** 右键点击服务器,选择"Start"或"Debug",...

    jetty 整合spring

    - **Servlet初始化**:使用Spring的`ContextLoaderListener`监听器,它会在Jetty启动时加载Spring应用上下文,使得Spring的bean实例化并准备好使用。 - **部署Web应用**:将Spring的配置文件和应用的class文件打包...

    Jetty9 配置使用HTTPS证书

    配置Jetty9服务器使用HTTPS证书的过程涉及多个步骤,包括申请证书、转换证书格式、以及配置Jetty服务器本身。以下详细描述这些步骤。 首先,申请证书部分通常需要借助第三方服务商,如阿里云、腾讯云等,这些服务商...

    自己构建微服务(springmvc+内嵌jetty+maven 环境配置)

    这通常涉及使用Spring MVC作为控制器层,内嵌Jetty作为Web服务器,以及Maven作为项目管理工具。下面将详细解释这些关键知识点: 1. **Spring MVC**: Spring MVC是Spring框架的一部分,它提供了一个用于构建Web...

    jetty 手动 加载spring mvc demo

    在本文中,我们将深入探讨如何不依赖于自动化工具或集成开发环境(IDE)来完成这个过程,这对于理解Spring MVC与Jetty的底层交互以及提升手动配置技能非常有帮助。 首先,让我们了解Jetty。Jetty是一个轻量级、高...

    maven+spring MVC+Mybatis+jetty+mysql

    Maven 使用一种标准的目录结构和XML格式的项目对象模型(Project Object Model, POM),能够自动下载所需的库文件,编译源代码,运行测试,打包,部署等。在本项目中,Maven 负责集成所有依赖,包括Spring MVC、...

    Spring整合Jetty开发web应用的例程

    - 创建Server对象:在Spring配置文件中定义一个`org.eclipse.jetty.server.Server`bean,设置端口和其他服务器属性。 - 添加Servlet容器:创建`org.eclipse.jetty.servlet.ServletContextHandler`对象,并设置其上...

    spring依赖注入bean

    在 Web 应用中,Spring 通常作为 Servlet 容器的一部分工作,例如 Tomcat 或 Jetty,通过 XML 配置文件或注解来定义 Bean 的配置。然而,在非 Web 的 Java 应用程序,如桌面应用或服务,我们同样可以利用 Spring 的 ...

    java应用程序实现jetty 集成jersey 和spring

    通过合理配置和使用这三个组件,我们可以创建一个完全托管的、基于Java的Web服务环境,同时享受Spring带来的强大功能和Jetty及Jersey的轻量化特性。这个过程涉及的细节繁多,但遵循正确的步骤和最佳实践,可以确保...

    41. Spring Boot 使用Java代码创建Bean并注册到Spring中【从零开始学Spring Boot】

    `@Configuration`类表示这是一个配置类,`@Bean`注解方法表示该方法的返回值将作为一个Bean注册到Spring容器。 ```java @Configuration public class AppConfig { @Bean public HelloWorldService ...

    jetty9.4.11+jetty在idea上的配置教程

    在本文中,我们将深入探讨如何在IntelliJ IDEA(简称IDEA)这个流行的Java集成开发环境中配置Jetty 9.4.11版本。首先,我们需要解决Jetty资源下载慢的问题,然后详细介绍在IDEA中配置Jetty的步骤。 **解决Jetty资源...

    tomcate和jetty虚拟目录配置方法

    - 重启服务器或应用服务后,配置才会生效。 - 安全性方面,确保只有授权用户可以访问到应用目录,以防止未授权访问或攻击。 通过以上方法,你可以轻松地在Tomcat和Jetty中配置虚拟目录,实现多应用的并发运行。同时...

    jetty整合springmvc例子

    - **创建Spring配置**:定义Spring的配置文件,包括Bean的定义和SpringMVC的相关配置,如视图解析器。 - **编写Controller**:创建SpringMVC的Controller类,处理HTTP请求。 - **启动Jetty**:在主程序中,通过...

    Jetty配置支持https

    对于使用Jetty服务器的项目来说,配置HTTPS支持是一项重要的任务。本文将详细介绍如何在Jetty中配置HTTPS,并生成受信的网站证书。 #### 二、Jetty HTTPS配置步骤 ##### 1. 生成证书 第一步是生成一个自签名证书...

    Intellij IDEA下建立maven管理的web项目,配置jetty热部署

    在本文中,我们将学习如何使用 Intellij IDEA 建立一个基于 Maven 管理的 Web 项目,并配置 Jetty 热部署。 知识点 1:Intellij IDEA 中的 Maven 项目 Maven 是一个基于项目对象模型(Project Object Model,POM)...

    jetty启动器资源配置文件

    `jetty.xml`遵循XML文档的标准格式,包含声明、DTD定义、注释以及具体的配置节点等部分。 ##### 2.1 XML文档声明 文件顶部为XML文档声明,指明了使用的XML版本: ```xml ``` ##### 2.2 DTD定义 接下来是DTD...

    spring boot内置jetty

    内置 Jetty 服务器是 Spring Boot 的一个重要特性,允许开发者快速启动和运行 web 应用,而无需手动配置服务器。Jetty 是一个轻量级、高性能的开源 HTTP 服务器和 Java Servlet 容器,它被广泛用于各种类型的 web ...

    jetty的xml文件配置说明.pdf

    本文将基于给定的`jetty.xml`配置文件的结构和示例,深入解析Jetty XML配置的关键概念与使用方法。 #### &lt;Configure&gt; 标签 - **描述**:`&lt;Configure&gt;`作为Jetty XML配置文件的根元素,用于指定`org.mortbay.xml....

Global site tag (gtag.js) - Google Analytics