【问题】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方法。
分享到:
相关推荐
4. **Spring与MyBatis整合**:在Spring配置文件中,使用`mybatis-spring`库提供的`SqlSessionFactoryBean`和`MapperScannerConfigurer`,这样Spring可以管理MyBatis的SqlSession和Mapper接口。 5. **创建业务服务和...
你可以选择"Use Tomcat installation"(让Eclipse管理Jetty安装)或"Use workspace metadata"(不修改Jetty安装)。对于开发而言,后者更方便。 6. **运行和调试Web应用** 右键点击服务器,选择"Start"或"Debug",...
- **Servlet初始化**:使用Spring的`ContextLoaderListener`监听器,它会在Jetty启动时加载Spring应用上下文,使得Spring的bean实例化并准备好使用。 - **部署Web应用**:将Spring的配置文件和应用的class文件打包...
配置Jetty9服务器使用HTTPS证书的过程涉及多个步骤,包括申请证书、转换证书格式、以及配置Jetty服务器本身。以下详细描述这些步骤。 首先,申请证书部分通常需要借助第三方服务商,如阿里云、腾讯云等,这些服务商...
这通常涉及使用Spring MVC作为控制器层,内嵌Jetty作为Web服务器,以及Maven作为项目管理工具。下面将详细解释这些关键知识点: 1. **Spring MVC**: Spring MVC是Spring框架的一部分,它提供了一个用于构建Web...
在本文中,我们将深入探讨如何不依赖于自动化工具或集成开发环境(IDE)来完成这个过程,这对于理解Spring MVC与Jetty的底层交互以及提升手动配置技能非常有帮助。 首先,让我们了解Jetty。Jetty是一个轻量级、高...
Maven 使用一种标准的目录结构和XML格式的项目对象模型(Project Object Model, POM),能够自动下载所需的库文件,编译源代码,运行测试,打包,部署等。在本项目中,Maven 负责集成所有依赖,包括Spring MVC、...
- 创建Server对象:在Spring配置文件中定义一个`org.eclipse.jetty.server.Server`bean,设置端口和其他服务器属性。 - 添加Servlet容器:创建`org.eclipse.jetty.servlet.ServletContextHandler`对象,并设置其上...
在 Web 应用中,Spring 通常作为 Servlet 容器的一部分工作,例如 Tomcat 或 Jetty,通过 XML 配置文件或注解来定义 Bean 的配置。然而,在非 Web 的 Java 应用程序,如桌面应用或服务,我们同样可以利用 Spring 的 ...
通过合理配置和使用这三个组件,我们可以创建一个完全托管的、基于Java的Web服务环境,同时享受Spring带来的强大功能和Jetty及Jersey的轻量化特性。这个过程涉及的细节繁多,但遵循正确的步骤和最佳实践,可以确保...
`@Configuration`类表示这是一个配置类,`@Bean`注解方法表示该方法的返回值将作为一个Bean注册到Spring容器。 ```java @Configuration public class AppConfig { @Bean public HelloWorldService ...
在本文中,我们将深入探讨如何在IntelliJ IDEA(简称IDEA)这个流行的Java集成开发环境中配置Jetty 9.4.11版本。首先,我们需要解决Jetty资源下载慢的问题,然后详细介绍在IDEA中配置Jetty的步骤。 **解决Jetty资源...
- 重启服务器或应用服务后,配置才会生效。 - 安全性方面,确保只有授权用户可以访问到应用目录,以防止未授权访问或攻击。 通过以上方法,你可以轻松地在Tomcat和Jetty中配置虚拟目录,实现多应用的并发运行。同时...
- **创建Spring配置**:定义Spring的配置文件,包括Bean的定义和SpringMVC的相关配置,如视图解析器。 - **编写Controller**:创建SpringMVC的Controller类,处理HTTP请求。 - **启动Jetty**:在主程序中,通过...
对于使用Jetty服务器的项目来说,配置HTTPS支持是一项重要的任务。本文将详细介绍如何在Jetty中配置HTTPS,并生成受信的网站证书。 #### 二、Jetty HTTPS配置步骤 ##### 1. 生成证书 第一步是生成一个自签名证书...
在本文中,我们将学习如何使用 Intellij IDEA 建立一个基于 Maven 管理的 Web 项目,并配置 Jetty 热部署。 知识点 1:Intellij IDEA 中的 Maven 项目 Maven 是一个基于项目对象模型(Project Object Model,POM)...
`jetty.xml`遵循XML文档的标准格式,包含声明、DTD定义、注释以及具体的配置节点等部分。 ##### 2.1 XML文档声明 文件顶部为XML文档声明,指明了使用的XML版本: ```xml ``` ##### 2.2 DTD定义 接下来是DTD...
内置 Jetty 服务器是 Spring Boot 的一个重要特性,允许开发者快速启动和运行 web 应用,而无需手动配置服务器。Jetty 是一个轻量级、高性能的开源 HTTP 服务器和 Java Servlet 容器,它被广泛用于各种类型的 web ...
本文将基于给定的`jetty.xml`配置文件的结构和示例,深入解析Jetty XML配置的关键概念与使用方法。 #### <Configure> 标签 - **描述**:`<Configure>`作为Jetty XML配置文件的根元素,用于指定`org.mortbay.xml....