public static void start() throws Exception {
QueuedThreadPool boundedThreadPool = new QueuedThreadPool();
boundedThreadPool.setMaxThreads(200);
server.setThreadPool(boundedThreadPool);
Connector connector = new SelectChannelConnector();
connector.setPort(8095);
server.addConnector(connector);
// WebAppContext context = new WebAppContext("/opt/workspace/app-vote/src/main/webapp", "/");
WebAppContext context = new WebAppContext("src/main/webapp", "/");
/* jndi support */
context.setConfigurationClasses(new String[] { "org.mortbay.jetty.webapp.WebInfConfiguration",
"org.mortbay.jetty.plus.webapp.EnvConfiguration", "org.mortbay.jetty.plus.webapp.Configuration",
"org.mortbay.jetty.webapp.JettyWebXmlConfiguration", "org.mortbay.jetty.webapp.TagLibConfiguration" });
ComboPooledDataSource pooledDataSource = new ComboPooledDataSource();
pooledDataSource.setDriverClass(settings.getProperty("connection.driver_class"));
pooledDataSource.setJdbcUrl(settings.getProperty("connection.url"));
pooledDataSource.setUser(settings.getProperty("connection.username"));
pooledDataSource.setPassword(settings.getProperty("connection.password"));
pooledDataSource.setMinPoolSize(NumberUtils.toInt(settings.getProperty("connection.pool.minPoolSize"), 0));
pooledDataSource.setMaxPoolSize(NumberUtils.toInt(settings.getProperty("connection.pool.maxPoolSize"), 5));
pooledDataSource.setInitialPoolSize(NumberUtils.toInt(settings.getProperty("connection.pool.initialPoolSize"),
1));
new Resource(context, "jdbc/app-vote", pooledDataSource);
server.setHandler(context);
server.setStopAtShutdown(true);
server.setSendServerVersion(true);
server.start();
}
maven
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.1.21</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>6.1.19</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-2.1-jetty</artifactId>
<version>6.1.21</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-plus</artifactId>
<version>6.1.21</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-naming</artifactId>
<version>6.1.21</version>
<scope>compile</scope>
</dependency>
web.xml
<resource-ref>
<description>app vote datasource</description>
<res-ref-name>jdbc/app-vote</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
spring
<!-- Jndi DataSource that works in any environment -->
<bean id="app.vote.dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="cache" value="true" />
<property name="jndiName">
<value>java:comp/env/jdbc/app-vote</value>
</property>
</bean>
分享到:
相关推荐
在Jetty中,我们可以利用JNDI来管理资源,如数据源、邮件会话等,以便在Web应用中进行共享。 1. **JNDI的基本概念** - JNDI提供了一种标准的方式来查找和访问各种资源和服务,如数据库连接池、对象工厂等。 - 它...
maven-jetty-jspc-plugin-6.1.21-site-component.jar
web service jetty-6.1.21.jar
web service jetty-util-6.1.21.jar
在SpringBoot中,可以通过AOP(面向切面编程)实现数据源的动态切换。AOP允许我们在不修改原有代码的情况下,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。在此项目中,AOP将在执行特定方法时...
5. **AOP(面向切面编程)**:在实现动态数据源时,通常会利用Spring的AOP特性,通过切面来决定在执行某个方法时使用哪个数据源。这可以通过自定义注解和Aspect实现。 6. **Web Server**:文件名中的`webserver`...
JNDI提供了一个统一的接口,允许应用查找和绑定各种资源,包括数据源。这样,应用可以通过名字来查找数据源,而无需在代码中硬编码连接信息,增加了系统的可移植性和可管理性。 3. **配置数据源**:在Web应用服务器...
Jetty的源代码开放且易于理解,这使得开发者能够深入研究其工作原理,进行定制化开发或者贡献自己的代码。 源代码下载是获取Jetty开发细节和学习其实现方式的重要途径。你可以通过访问Jetty的官方网站或者使用Git...
在JNDI中配置数据源(DataSource) 内嵌Jetty服务器 内嵌Jetty教程 内嵌Jetty的HelloWorld教程 内嵌Jetty视频 优化Jetty 如何配置垃圾收集 如何配置以支持高负载 在Jetty中部署应用 部署管理器 部署绑定 热部署 ...
这段代码定义了一个名为`jdbc/MyDB`的JNDI数据源,连接到本地MySQL数据库。 总结来说,配置Jetty涉及的主要步骤包括设置服务器监听的端口、定义Web应用的上下文路径、管理项目依赖以及配置环境变量。`jetty.xml`、`...
本案例主要探讨Jetty在嵌入式Web编程中的多种实现方法,旨在帮助开发者更好地理解和应用Jetty。 一、Jetty的基本概念与优势 Jetty作为开源项目,其核心设计理念是简洁、快速和可扩展。它支持HTTP、HTTPS、WebSocket...
jar包版本9.4.8.v20171121,包含jetty-server-9.4.8.v20171121.jar,jetty-servlet-9.4.8.v20171121.jar,...jetty-annotations-9.4.8.v20171121.jarjetty-deploy-9.4.8.v20171121.jar,jetty-jndi-9.4.8.v20171121.jar
maven-jetty-plugin-6.1.21-site-component.jar
10. **jetty-plus.jar**:提供了额外的特性,如JNDI绑定、容器初始化bean(web.xml中的标签)等。 11. **jetty-proxy.jar**:如果你需要使用Jetty作为反向代理或负载均衡器,这个jar包包含了相关实现。 12. **...
赠送源代码:jetty-util-6.1.26-sources.jar; 赠送Maven依赖信息文件:jetty-util-6.1.26.pom; 包含翻译后的API文档:jetty-util-6.1.26-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.mortbay....
jetty-jndi-9.2.26.v20180806.jar jetty-plus-9.2.26.v20180806.jar jetty-proxy-9.2.26.v20180806.jar jetty-quickstart-9.2.26.v20180806.jar jetty-rewrite-9.2.26.v20180806.jar jetty-schemas-3.1.jar。。。。
8. **JNDI支持**:`jndilib`目录可能包含了JNDI(Java Naming and Directory Interface)相关的库,使得Jetty插件能够支持JNDI查找服务,这对于某些企业级应用来说是必需的。 9. **元数据信息**:`META-INF`目录...
同时,由于Jetty的模块化设计,开发者还可以选择性地引入其他扩展jar文件,以支持更多的功能,如Maven插件、JMX监控、JNDI查找等。 总的来说,jetty.jar、jetty-sslengine.jar和jetty-util.jar是Jetty服务器的核心...
在Jetty中,可以通过配置JNDI来提供数据源等资源。 **11.2 如何使用** 配置JNDI通常需要指定数据源的名称和实现类,例如: ```xml <New id="dataSource" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg>...
- **JNDI**:可以配置Jetty以提供JNDI服务,便于应用中的服务发现和注入。 - **静态资源**:可以通过`DefaultHandler`或`ResourceHandler`处理静态文件。 6. **调试与日志** - 在开发阶段,可以通过设置日志级别...