`

Jetty嵌入式服务器的JNDI快速配置指南

阅读更多

 

J etty提供HTTP服务器、客户端,它是javax.sevlet的容器。而这些组件都是开源且可商用的。它被广泛的应用在工程与产品中。它可以嵌入的设备,工具,框架,应用服务器以及集成。Jetty项目的核心由Eclipse组织提供服务器。Codehaus提供附件,集成及扩展,并为其提供旧版本的存放主机。

 

其官方页面为: http://www.mortbay.org/jetty/

 

现在就来看怎样在Jetty中配置JNDI数据源,以及如何在Spring工程中使用。


让Jetty在Web工程中支持java:comp/env查找,作为可选特性,需要做一些配置。让我们来看看要怎样配置。首先,使JNDI在Web应用中可用,需要在Jetty.xml文件中,加入如下配置:

 

 

<!-- ======================================================= -->
<!-- Configure jndi                                          -->
<!-- ======================================================= -->
<Array id="plusConfig" type="java.lang.String">
  <Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
  <Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
  <Item>org.mortbay.jetty.plus.webapp.Configuration</Item>
  <Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
  <Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
</Array>

<New id="orclc3p0" class="org.mortbay.jetty.plus.naming.Resource">
  <Arg>jdbc/orclc3p0</Arg>
  <Arg>
    <New class="org.apache.commons.dbcp.BasicDataSource">
      <Set name="driverClassName">org.postgresql.Driver</Set>
      <Set name="url">jdbc:oracle:thin:@192.168.0.173:1521:orcl</Set>
      <Set name="username">test</Set>
      <Set name="password">test</Set>
      <Set name="maxActive">10</Set>
    </New>
  </Arg>
</New>
 

然后在WebAppContext中添加plusConfig

 

 

<New id="application" class="org.mortbay.jetty.webapp.WebAppContext">
  ...
  <Set name="ConfigurationClasses"><Ref id="plusConfig" /></Set>
  ...
</New>
 

然后需在Web.xml或容器的WebDefault.xml文件中添加:

 

 

<resource-ref>
  <res-ref-name>jdbc/orclc3p0</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
  <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
 

Spring中使用的方法为:

 

 

<bean id="dataSourceForTest" class="org.springframework.jndi.JndiObjectFactoryBean">
  <property name="jndiName" value="java:comp/env/jdbc/orclc3p0" />
</bean>

 

如果工程使用了maven,需在工程的pom.xml文件中添加包含了org.mortbay.jetty.plus.naming.Resource的jar依赖:

 

<dependency>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>jetty-plus</artifactId>
  <version>${jetty-version}</version>
  <scope>provided</scope>
</dependency>
<dependency>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>jetty-naming</artifactId>
  <version>${jetty-version}</version>
  <scope>provided</scope>
</dependency>
 其中${jetty-version}为6.1.9版本

 

 

 

2
0
分享到:
评论

相关推荐

    jetty6 指南书

    7. **类加载器**、**Jetty Connector的SSL配置**、**虚拟主机**、**管理服务器**、**JNDI配置**、**会话与集群**、**性能优化**、**异步Servlet、Ajax和Comet**以及**嵌入Jetty**等内容,都是指南中详细阐述的主题,...

    jetty 6 指南书

    Jetty 6 指南书是一本详细讲解 Jetty 6.x 版本的专著,由陈汝烨撰写,旨在填补网络上关于 Jetty 新颖、系统性资料的空白,推动 Jetty 在国内的普及。这本书不仅介绍了 Jetty 作为 Web 容器的基本功能,还深入探讨了...

    Jetty权威指南.pdf

    ### Jetty权威指南知识点梳理 #### 一、Jetty简介 **1.1 Jetty功能介绍** Jetty是一个完全由Java编写的高性能HTTP服务器及servlet容器,它不仅能够作为一个独立的服务运行,还具备强大的可嵌入性。Jetty的设计...

    jetty指南书

    Jetty 指南书是一本专注于Jetty web容器的详细教程,主要涵盖了Jetty的基础知识、安装配置、架构解析、服务配置、Web应用程序部署、Handler详解、类加载器、Connector配置、虚拟主机、服务器管理和性能优化等多个...

    《Jetty6_指南书》

    - **如何使用**: 如何在Jetty中配置和使用JNDI。 #### 十二、会话与集群 - **会话管理**: 如何配置会话管理,实现跨服务器的会话共享。 - **集群部署**: 如何设置Jetty集群以提高可用性和负载均衡。 #### 十三、...

    jetty使用文档

    - 可以作为嵌入式服务器,方便集成到其他Java应用中。 - 支持多线程模型,确保高并发性能。 - 具有轻量级架构,快速启动和低内存占用。 2. **Jetty 的特点** - 小巧:Jetty 体积小,启动速度快,适合快速部署和...

    java技术体系图

    - **Web服务器**:Tomcat/Jetty/Resin/JBossWeb。 - **JavaWeb核心技术**: - **网页开发** + **数据库设计** → **JavaWeb项目开发**。 - **6项基本技术**:JSP + JavaBean + Servlet + EL + JSTL + Taglib。 ...

Global site tag (gtag.js) - Google Analytics