问题标签 [jndi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1291 浏览

jndi - 在 Atg Dyanmo 应用服务器中通过 JNDI 从外部 JVM 访问对象

我正在尝试使用来自 Atg Dyanmo 应用服务器中的外部 JVM 的 JNDI 访问一些对象。我正在使用以下代码 -

当我在同一个 jvm 上运行此代码时,它可以正常工作,但是当我从其他 jvm 尝试此代码时,它不起作用。Rmi 服务器在 8860 端口上运行。服务器上是否有任何设置基本上停止来自客户端的请求?这是我得到的例外 -

09:46:25,963 INFO [STDOUT] 获取上下文 - javax.naming.InitialContext@e3a921 09:46:26,010 INFO [STDOUT] ERR - javax.naming.NameNotFoundException: dynamo:/pearsonpoc/beans/UserInformation 09:46:26,010 INFO [STDOUT] 结果 - 空

请帮忙。谢谢

0 投票
6 回答
4749 浏览

deployment - 跨多个 Tomcat 实例维护 JNDI

我想知道人们如何管理跨其 Tomcat 应用程序服务器的多个实例维护 JNDI 资源。让我们以我的数据库 JNDI 资源为例。它在我的 /conf/context.xml 文件和我的应用程序 web.xml 文件中的引用中声明。

该 JNDI 资源必须在我的开发箱、暂存箱和生产箱上独立定义。如果我想设置开发人员/登台/生产框的新实例怎么办?这意味着我必须为我提出的每个新实例在 context.xml 中重新创建资源名称?从设置的角度来看,这是一个可能存在一些人为错误的地方,这些错误可能导致应用服务器开始指向错误的数据库。

我发现这既麻烦又令人困惑,因为我增加了项目中的开发人员数量以及最终可能使用的生产服务器的数量。

每次重新安装 tomcat 并设置盒子时,您是否只是将其作为设置的一部分,或者创建一个设置脚本来为您处理这个问题?或者是否有一些其他级别的间接可以使这更容易?

0 投票
1 回答
2967 浏览

java - 如何为 Java Web 服务映射数据源

我试图弄清楚如何为我的网络服务使用数据源。我在我的 jboss 4.2.3 服务器上部署了 oracle-ds.xml,并且数据源显示为绑定到 JNDI 名称 java:TestDS、java:WeatherDS 等。

我尝试做一个 initialcontext.lookup 但我找不到它。我尝试引用 web.xml 中的资源,但我得到“java:WeatherDS 没有有效的 JNDI 绑定”...我尝试引用“java:/WeatherDS”、“WeatherDS”、“java:WeatherDS”、“jdbc” /WeatherDS" 和其他一些,但我认为我需要以某种方式将引用名称映射到 jndi 名称。

我找到了一段代码,上面写着:

但是,它没有说明这个文件在哪里以及还需要什么。我不知道我是否确实需要资源参考。谁能指出我在部署后如何从代码访问数据源的更完整信息的方向?我正在努力做到这一点,以便为我的网络服务汇集连接。

0 投票
2 回答
3649 浏览

deployment - 将相同 EJB 和类的多个版本部署到相同的 JBoss 服务器

我有几个单独的应用程序项目 (EAR),其中包含多个 EJB,我想将它们部署到同一个 JBoss 服务器。现在,一些项目可能具有相同的 EJB,但版本不同。在类似的情况下,一些项目可能会使用相同“普通”类的不同版本(即在 VM 中加载的类,没有 JNDI 查找)。

使用 OC4J,这似乎不是问题,但现在使用 JBoss,我得到的印象是所有内容都驻留在同一个“名称空间”(或类加载器)中。我在这个假设中正确吗?

基本上,我想做(或确保)有两件事:

  • 从执行 EJB 的 JNDI 查找的客户端,我希望能够指示它驻留在哪个应用程序中,以便返回正确版本的 EJB。

  • 在 EJB 中,当实例化一个类时,我想确保该类是使用与 EJB 相同的应用程序 (EAR) 部署的类。

我想我读到您可以为 EJB 配置一些“隔离”属性,我猜对了,这可能会解决我的第二点吗?

0 投票
2 回答
1563 浏览

java - JNDI 缓存中存储了什么?

我们在 Windows 上使用 WebSphere 6.1 连接到不同 Windows 机器上的 DB2 数据库。我们在应用程序中使用准备好的语句。在调整数据库索引(在索引末尾添加一列)时,我们没有看到我们在具有相同查询的测试数据库上看到的性能提升,在更改索引后,数据库服务器上的处理器实际上是挂钩的。

准备好的语句查询计划是否实际存储在 JNDI 中?如果是这样,如何清除它们?如果没有,我们如何清除 DB2 服务器上的缓存?

0 投票
4 回答
4091 浏览

java - 如何在 Tomcat 中创建不使用池的数据源

我使用 JNDI 上下文在 Tomcat 的 context.xml 文件中为 JDBC 驱动程序创建数据源,如下所示,

默认情况下,Tomcat 将使用 DBCP 数据源工厂并创建池化数据源。我们使用的特定数据库和驱动程序已经支持较低级别的池化,而额外的池化实际上会损害性能。有没有像这样使用 JNDI 资源创建基本数据源(没有池),这样我就可以在不同的数据库之间切换,而配置更改最少?

我知道我可以编写自己的数据源工厂或使用其他驱动程序的数据源工厂来实现这一点,但我正在寻找一个更简单的解决方案。

0 投票
1 回答
1602 浏览

tomcat - Tomcat-6.0.18,扩展目录结构,context.xml中的数据源

环境:

  • Tomcat-6.0.18
  • 甲骨文数据库
  • JDK-1.6.0_1

-1- context.xml ia 战争文件 - 工作正常

my-application.war/META-INF/context.xml

重要提示:在这种情况下, context.xml被放置在 War-archive 中。部署应用程序后可以访问数据库没有问题

-2-扩展目录结构中的context.xml(不起作用)

my-application/META-INF/context.xml(内容相同)

重要提示:在这种情况下,context.xml 被放置在扩展的目录结构中。部署应用程序 con 后无法访问数据库。异常消息是: javax.naming.NameNotFoundException: Name jdbc is not bound in this Context

我的问题

在案例 2 中如何配置 tomcat(或我的应用程序)?

0 投票
6 回答
5912 浏览

jboss - 没有 JNDI 的 JMS?

我们使用 Java 1.4 在 WebSphere 6.01 中运行 portlet。我们希望将 JMS 消息发送到运行 Java 5(或者可能是 6,但肯定比 1.4 更新)的 JBoss 5 队列。尝试使用 JNDI 连接是行不通的,因为我们必须在 portlet 的类路径中包含 JBoss 客户端 jar,它们是 Java 1.5。因此,当我尝试创建 InitialContext 时,我得到一个不受支持的主要/次要错误。

我们可以不使用 JNDI 直接连接到 JBoss 吗?或者有什么方法可以解决我想不出的这个问题?

0 投票
1 回答
1122 浏览

hibernate - 如何让 hibernate-entitymanager 从 JBoss 中使用 JTA?

我正在构建一个用于容器外 EJB 测试的工具。我已经成功地在其中运行了 Hibernate 的 EntityManager。现在我想将它与 JTA 集成以实现对事务的严格控制。

我面临的问题如下: Hibernate 似乎需要 JNDI 才能与 JBossTS(JBoss 的 JTA 实现)一起正常工作。但我不知道如何UserTransaction在 JNDI 中注册 s 。

我在这里想念什么?如何配置 JBossTS 以使用 JBoss 之外的 Hibernate?有这方面的教程吗?

0 投票
2 回答
16372 浏览

deployment - 远程机器未运行时如何为远程 JMS 队列初始化 ConnectionFactory?

使用 JBoss 4.0.5、JBossMQ 和 Spring 2.0.8,我试图将 Spring 配置为实例化依赖于远程 JMS 队列资源的 bean。我遇到的所有示例都依赖于使用 JNDI 来查找诸如远程 ConnectionFactory 对象之类的东西。

我的问题是当试图启动一台将消息放入远程队列的机器时,如果远程机器没有启动,JNDI 查找就会失败,导致部署失败。有没有办法让 Spring 继续尝试在后台查找这个对象,同时不阻塞其余的部署?