`

Jetty中使用JNDI设置环境变量

 
阅读更多

【目的】

Production使用WebSphere作为App Server,但主包方开发团队在Dev环境使用Tomcat binding to Eclipse,我更倾向于使用Mave Jetty Plugin——项目本身就是使用Maven进行依赖管理的!

 

【问题】

主包方开发团队要求在Tomcat的Server.xml中定义Naming Resource,用于访问WS-资源,如下:

 * - server.xml
 *  Add the following inside XML Tag <GlobalNamingResources> :
	<Environment name="wsPathPhq" override="false" type="java.lang.String" value="http://localhost:8080/cis2_ws/"/>
	<Environment name="wsPathNtn" override="false" type="java.lang.String" value="http://localhost:8080/cis2_ws/"/>
	<Environment name="defaultSite" override="false" type="java.lang.String" value="PHQ"/> <!-- PHQ or NTN -->
	<Environment name="uiOffShorePath" override="false" type="java.lang.String" value="http://localhost:8080/cis2_ui/"/>
	<Environment name="uiOffShoreName" override="false" type="java.lang.String" value="NTN"/>

然后在代码中使用javax.naming.InitialContext.lookup(String)进行查找。 但Jetty如何支持?

 

【解决方案】

在Jetty.xml中,加入如下部分:

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
	<New class="org.eclipse.jetty.plus.jndi.EnvEntry">
		<Arg></Arg>
		<Arg>wsPathPhq</Arg>
		<Arg type="java.lang.String">http://localhost:8080/cis2_ws/</Arg>
		<Arg type="boolean">true</Arg>
	</New>
...

 

【参考文档】https://wiki.eclipse.org/Jetty/Feature/JNDI

Binding Objects into Jetty JNDI

You can bind four types of object into Jetty JNDI:

The binding for all of these object types follows the same pattern:

<New class=type of naming entry>
  <Arg>scope</Arg>
  <Arg>name to bind as</Arg>
  <Arg>the object to bind</Arg>
</New>

Defining Naming Entries

The type of naming entry can be:

  • "org.eclipse.jetty.plus.jndi.EnvEntry" for <env-entry>s.
  • "org.eclipse.jetty.plus.jndi.Resource" for all other type of resources.
  • "org.eclipse.jetty.plus.jndi.Transaction" for a JTA manager. For detailed information, see the Configuring XA Transactions section.
  • "org.eclipse.jetty.plus.jndi.Link" for link between a web.xml resource name and a NamingEntry. For more information, see the Configuring Links section.

You can define naming entries in three places:

  1. jetty.xml
  2. WEB-INF/jetty-env.xml
  3. context xml file

 

分享到:
评论

相关推荐

    jetty指导书

    在Linux环境下,通常通过Shell脚本来控制Jetty的启动和关闭,还需要注意的是Linux下的权限设置和环境变量配置。 - **2.6.1 系统变量的设置**: 如`JAVA_HOME`和`JETTY_HOME`。 - **2.6.2 命令参数**: 可以通过命令行...

    jetty 6 指南书

    17. **开发环境中的Jetty**:推荐的开发环境配置和使用方法。 18. **安全**:涵盖认证、授权、加密等安全性话题。 19. **FAQ**:常见问题解答,帮助解决使用中遇到的问题。 通过本书,读者将能够全面了解Jetty 6...

    Jetty权威指南.pdf

    - **2.6.1 系统变量的设置**:为了更好地兼容Windows环境,可以设置一些环境变量,如`JAVA_HOME`指向JDK的安装路径。 - **2.6.2 命令参数**:可以通过命令行传递参数来调整Jetty的行为,例如指定端口号或开启调试...

    简单jetty配置

    最后,`jetty-env.xml`文件用于配置Jetty环境变量,比如JNDI资源。例如,如果你需要配置数据源,可以在`jetty-env.xml`中定义: ```xml &lt;New id="dataSource" class="org.eclipse.jetty.plus.jndi.Resource"&gt; ...

    Jetty6_指南书

    同时,书中也涵盖了Windows和Linux环境下启动和关闭Jetty的控制方法,包括系统变量设置和命令参数。 在构架方面,作者深入讲解了Jetty的架构,包括Connector(连接器)、Handler(处理器)、Server和ThreadPool...

    《Jetty6_指南书》

    - **配置环境变量**: 设置`JETTY_HOME`环境变量指向Jetty的安装目录。 ##### 2.3 使用Java命令启动 - **快速启动**: 运行`bin/startup.sh`(Linux/Mac)或`bin/startup.bat`(Windows)。 - **停止服务**: 运行`bin...

    Apache Geronimo配置文件geronimo-web.xml各个标签的讲解

    - `&lt;sys:environment&gt;`:定义运行环境相关的配置,比如服务器的环境变量。 - `&lt;context-root&gt;`:设置Web应用的上下文根,即在URL中应用的路径部分。 - `&lt;work-dir&gt;`:指定Web应用的工作目录,用于存储临时文件和编译...

    [CruiseControl]binary安装和启动

    2. **配置环境变量**:确保已正确设置了 `JAVA_HOME` 环境变量,以便 CruiseControl 能够找到正确的 Java 运行环境。 3. **启动服务**:使用 Windows 系统时,可以通过运行 `cruisecontrol.bat` 文件来启动服务;...

    jboss集群服务

    - **幂等方法**:执行多次结果不变的方法,适合在分布式环境中使用,保证操作的一致性。 **2. JBoss集群的特点** - **自动发现**:集群节点无需额外配置即可互相识别。 - **全局复制的JNDI树**:所有节点共享同一...

    Apache Solr 搜索使用文档

    - 设置环境变量:`solr.solr.home=&lt;your_solr_dir&gt;`,其中 `&lt;your_solr_dir&gt;` 为实际的 Solr 数据和配置目录路径。 - 在 JVM 启动参数中添加系统变量:`java -Dsolr.solr.home=&lt;your_solr_dir&gt;`。 - 使用 JNDI ...

    SpringBoot面试题 30道.pdf

    配置Spring Boot应用的方式多种多样,包括命令行参数、JNDI属性、JVM系统属性、操作系统环境变量,以及各种不同位置的`application.properties`或`application.yml`文件。配置加载的优先级遵循特定顺序,外部配置...

    jboss 下载(httpwww.jboss.org)

    启动 JBoss 时,需要设置环境变量 `JBOSS_CLASSPATH`,并添加安全管理器和 XML 解析器的路径。此外,还需要设置启动参数,如 JAXP(Java API for XML Processing),并根据配置文件 `JBoss.properties` 进行系统属性...

    Springboot启动时序图

    - 这包括属性源(PropertySource)的加载,支持命令行参数、系统属性、JNDI、环境变量等。 3. **自动配置** - 自动配置是SpringBoot的核心特性之一,它通过`@EnableAutoConfiguration`注解开启。 - SpringBoot会...

    Java项目实战-基于Javaee的影视创作论坛的设计与实现(附源码,部署说明).zip

    部署说明.txt文件提供了项目上线的步骤,包括配置服务器环境(如Tomcat或Jetty)、导入数据库脚本、配置应用服务器的上下文路径、设置环境变量等。熟悉这些过程对于开发者来说是必备技能。 8. **Web应用开发流程**...

    jboss集群技术介绍

    这一部分主要介绍了如何设置JBoss集群,包括配置文件的调整、环境变量的设置等。具体步骤可能涉及: - 修改`jboss-service.xml`或`jboss-service-cluster.xml`文件以启用集群功能。 - 配置网络参数,如监听地址和...

    javaweb实战开发1200例第一册 15章-3

    10. **部署与配置**:理解如何在Tomcat、Jetty等应用服务器上部署WAR文件,配置web.xml文件,以及设置环境变量等,是成功运行JavaWeb应用的关键。 通过《javaweb实战开发1200例》这样的学习资料,开发者可以深入...

    java编程深入研究

    安装后,配置JAVA_HOME环境变量,确保系统能够找到JDK路径。接下来,设置PATH和CLASSPATH变量,以便命令行可以执行Java命令和找到类文件。此外,还需要一个集成开发环境(IDE),如Eclipse或IntelliJ IDEA,它们提供...

    架构解析——Tomcat

    - Tomcat的安装与配置,包括环境变量设置、服务器端口配置等。 - 容器原理,包括Context、Host和Engine的层级结构及其职责。 - 部署应用,包括WAR文件和目录结构的规范。 - 配置安全管理,涉及用户认证、授权和会话...

    jboss内核(能运行web程序)

    1. **安装与配置**:下载并解压JBoss内核,配置环境变量,如JBOSS_HOME,以便系统能找到JBoss的安装路径。 2. **启动服务器**:通过命令行执行JBoss的启动脚本,如`standalone.bat`(Windows)或`standalone.sh`...

Global site tag (gtag.js) - Google Analytics