Solo  当前访客:1 开始使用

Java中的JDNI

java:comp/env 是 Java EE 中 JNDI(Java Naming and Directory Interface)的一部分,用于提供统一的命名和目录服务。

java:comp/env 是一个固定的 JNDI 上下文(Context),它是 Java EE 环境中每个组件(如 Servlet、EJB、JSP 等)的私有的命名空间。

这个上下文用于存储组件需要使用的各种资源,如数据库连接、JMS 连接、数据源、环境变量等。通过 JNDI 在 java:comp/env 下注册资源,可以在应用程序的不同组件之间共享这些资源,同时也可以避免对底层资源的直接依赖。

当你需要在 Java EE 应用程序中访问某个资源时,通常需要通过 JNDI 在 java:comp/env 上下文中查找并获取这个资源的引用。例如,在 Servlet 中获取一个在 java:comp/env 中注册的数据源可以这样做:

// 在JNDI中注册资源
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");

// Create your data source
DataSource dataSource = createYourDataSource();

// Bind the data source to JNDI
envCtx.bind("jdbc/yourDataSource", dataSource);

// 在JNDI中获取资源
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource dataSource = (DataSource) envCtx.lookup("jdbc/yourDataSource");

标签:
新一篇: MySQL在可重复度的隔离级别下的并发问题 旧一篇: 墨菲定律