java:compenv 做什么?

java:compenv 做什么?,第1张

java:comp / env /做什么?

名称空间的根上下文中是名称为“ comp”的绑定,该绑定绑定到为与组件相关的绑定保留的子树。名称“ comp”是组件的缩写。在根上下文中没有其他绑定。但是,根上下文保留用于策略的将来扩展,特别是用于命名不与组件本身绑定但与其他类型的实体(例如用户或部门)绑定的资源。例如,将来的策略可能允许你使用“ java:user / alice”和“ java:org / engineering”之类的名称来命名用户和组织/部门。

在“ comp”上下文中,有两个绑定:“ env”和“ UserTransaction”。名称“ env”绑定到一个子树,该子树保留给组件的环境相关绑定(由其部署描述符定义)。“ env”是环境的缩写。J2EE建议(但不需要)“ env”名称空间的以下结构。

因此,你从spring或例如tomcat上下文描述符进行的绑定默认情况下位于java:comp / env /

例如,如果你的配置是:

<bean id="someId" >  <property name="jndiName" value="foo"/></bean>

然后,你可以使用以下命令直接访问它:

Context ctx = new InitialContext();DataSource ds = (DataSource)ctx.lookup("java:comp/env/foo");

或者你可以采取一个中间步骤,这样就不必为检索到的每个资源都指定“ java:comp / env”:

Context ctx = new InitialContext();Context envCtx = (Context)ctx.lookup("java:comp/env");DataSource ds = (DataSource)envCtx.lookup("foo");


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5037229.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存