问题标签 [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 回答
2083 浏览

seam - 接缝 JNDI 注入

如何在 Seam 中注入 JNDI 值?我读到您可以使用@Resource 或@JndiInject,但它不起作用。

0 投票
2 回答
21347 浏览

java - 通过 JNDI 使用 ActiveMQ

我正在尝试使用 JNDI 创建与 ActiveMQ 的简单连接。


我有

  1. 名为“example.A”的队列。

  2. 根据涉及 JNDI 的 ActiveMQ 文档,如果我想通过 JNDI 使用 ConectionFactories 和队列(主题),我必须将 jndi.properties 文件放在我的类路径中。据我了解,activeMQ 类路径默认为 %activemq%/conf 目录。我没有改变它。所以我的队列有这个属性:

    queue.MyQueue = example.A

  3. 我为 ActiveMQ 创建了 java 客户端类,它使用如下 JNDI:

    /li>

但它找不到我的队列,它抛出异常:javax.naming.NameNotFoundException: MyQueue

我的错误在哪里?

0 投票
3 回答
1110 浏览

java - 在 Windows XP 中使用 JNDI 获取用户的组名

我听说过——我不确定它是来自可靠的来源还是来自实际做过的人——JNDI 可用于在 Windows 中访问用户的组名。我正在使用Windows XP。我不确定它是如何工作的,但听起来 Windows 使用活动目录来管理组(有人可以确认吗?)并且 JNDI 可能能够访问它来检索用户的组名。当我说“组”时,我指的是计算机上的组。像“管理员”或“用户”。

有谁知道如何做到这一点?有人做过吗?这是一件容易的事吗?

0 投票
4 回答
6983 浏览

tomcat - 邮件/会话资源工厂在 Struts 应用程序中不起作用

我想使用 Tomcat 6.0 提供的标准资源工厂,它为我创建 javax.mail.Sessions 实例。如JNDI 资源 HOW-TO 教程中所述。

我的 META-INF/context.xml 看起来像:

我的 WEB-INF/web.xml 中有下一个资源引用,就在 </webapps> 之前。Web.xml 验证。我使用McDowell 的方式进行了验证。

我正在使用下一个代码片段访问我的 javax.mail.Session 对象。

我在一个示例应用程序中对其进行了测试,它工作正常。不幸的是,当我将相同的代码移动到一个 struts 应用程序时,我在上面的打印语句中得到了 NULL。我在名为 mailer 的单例类中查找上下文(在我的 WEB-INF/classes 文件夹中定义),但是如果我在 Struts 动作类中查找上下文,我会遇到同样的问题。

我一直在想有什么不同的地方才能找到问题。我的 struts 应用程序 web.xml 比简单应用程序的 web.xml 更复杂。它具有安全约束、过滤器和 Struts Servlet 配置。我将 resource-ref 定位在 servlet 定义之前。似乎资源引用被忽略了。

我还有一个问题。如果我在 myapp/WEB-INF/lib 文件夹中有 javax.mail.Session 所需的 mailapi.jar,我会得到:

java.lang.NoClassDefFoundError: javax/mail/Authenticator

如果我把它放在 $CATALINA_HOME/lib 中就找到了。

有任何想法吗?我使用struts和hibernate。也许与此有关。

调试

我试图调试它,将调试属性放在上下文中

但我没有看到任何有趣的东西。

我试过:

代替:

但我仍然得到一个 NULL Session 对象。

部分解决方案

当我将 Resource 元素放在 $CATALINA_HOME/conf/context.xml 文件中时,它可以工作。

0 投票
2 回答
5315 浏览

java - How to initialize a value in web.xml from a JNDI variable?

In my Java web application, the NTLM domain controller name is specified in web.xml like this:

In the above XML, we've hard-coded the domain controller name (DCNAME) in the param-value tag.

Now, is it possible to read this 'DCNAME' from a JNDI variable, instead of hard-coding it in web.xml file?

thanks in advance.

0 投票
3 回答
2188 浏览

hibernate - 使用 GWT、Struts 和 Hibernate 在 Web 应用程序中处理数据

我正在使用 Struts 和 Hibernate 编写一个 Web 应用程序。最近,我发现了GWTVisualization API。这一切看起来都非常有趣,并提供了我的应用程序需要的 AJAX 功能。我是新手,很迷茫。。。。

在哪里放置数据访问级别检查?

在 Web 应用程序中,用户对数据具有不同级别的访问权限。例如,不同数据的读/写权限的不同组合。当访问或修改任何数据时,应用程序会检查某种用户配置文件。用户将根据结果获得数据访问权限——拒绝查看访问权限或可以查看数据但无法更改数据等。我不确定在哪里进行此特定检查。我想我可以将它编码在DAO 中,每次处理数据操作时,根据配置文件手动检查查询的数据。或者,放在业务逻辑/显示层,如果用户没有数据访问权限,就拿离用户的按钮。还是两者兼而有之或者hibernate中有没有配置文件我可以在某个地方为所有映射的表指定数据访问权限?

传递信息的最佳实践

模型/视图/控制器之间非常需要通信,对 GWT 进行 RPC 调用,并将数据传递给可视化代码以呈现图表和其他内容。我猜它肯定需要某种将 Java 对象转换为 JSON 对象的转换器,以便进行 gwt-rpc 调用并使用 Visualization API 绘制图表。我对么?此外,就在 Struts 和 Hiberante 中传递信息而言——编写数据传输对象是个好主意吗?然后就一直传豆子?或者(我今天刚刚遇到这个......甚至不确定我是否理解正确)可能将对象绑定到JNDI上,并从程序的其他部分访问它们?

任何输入/澄清将不胜感激。非常感谢你!

0 投票
3 回答
1856 浏览

jboss - 在 JBoss 4.0.5 中声明一个 JNDI 变量

我想在 JBoss 4.0.5 服务器中声明一个新的 JNDI 变量。有人可以解释一下如何做到这一点吗?

等待您的回复。

谢谢。

0 投票
2 回答
2577 浏览

security - 在不使用明文密码的情况下从 Weblogic 获取 IntialContext

我可以使用以下属性作为 InitialContext 的环境参数从 JNDI 客户端获取 Weblogic InitialContext

问题是,有没有办法获得 InitialContext 而不将 security.credentials 指定为明文但可能作为散列值?

0 投票
1 回答
5959 浏览

java - JNDI 失败并出现 NameNotFoundException

我正在为内部库(创建者已经消失)编写回归测试,并且正在尝试验证环境。仅当 jndi 名称为“复杂”时,一些测试才会因 NameNotFoundException 而失败。

这是一个独立的应用程序,不与任何 Web 容器一起运行。该应用程序使用首选项文件,并且不涉及 LDAP。环境是 Java v1.4,应用程序安装了所有必要的本地库。(带有 jndi.jar、jms.jar 等的 lib 目录)。很简单,对吧?

由于库的复杂性以及它如何处理大量对象,我进行了一个简单的测试,然后增加了每个部分的复杂性作为单独的测试。

设置:文件:c:\data\eclipse\workspace\APP\testfiles\jndi\jms\label\.bindings
在文件中有这个条目:QRep​​ly/FactoryName=com.ibm.mq.jms.MQQueueFactory

UnitTest 类:“简单”测试有

这通过了。因为我在使用库时遇到了很多麻烦,所以我创建了另一个与传入的实际数据匹配的测试;Provider URL 被缩短并且 jndi 名称选择一个“路径”。

“实际”数据单元测试:

哪个失败了

其中 UnitTestServiceLocator.java:85 是 ctx.lookup(jndiname) 的行;

为什么简单的测试会通过,而更复杂的测试会失败?两者都使用指向 lib 目录的类路径,该目录填充有 jms 和 mq jar(以及其他内容)。

复杂的测试匹配库将填充的内容,但使用魔法作为传入的值。库代码还有“几行”可以从首选项文件中提取魔法值。我错过了什么?库代码将在服务器上运行,但在我的笔记本电脑上失败(开发时)。

我什至创建了另一个 jndi 路径——以防第一个测试搞砸了第二个。仍然失败。

由于我没有任何愿望(或更改库代码的权限),因此调用 InitialContext(X); 就是这样,因为图书馆就是这样做的。我已经看到了其他没有通过 InitialContext 传递的示例,我很困惑为什么这样会更好。

更新:我在 linux java1.5 上创建了一个 jndi_test 项目,并且成功运行了失败的测试。采用相同的源并将其移动到 Windows 环境 - 测试失败。由于 linux 上没有 C 盘但数据文件相同,因此类路径有一些更改。(嗯分隔符问题?)

我还发现如果我要在 1.5 上运行该库,我会遇到问题,但这是一个附带问题。

0 投票
2 回答
1274 浏览

java - 我可以使用 JNDI 访问文件/它们的内容吗?

可以在 Java servlet 中使用 JNDI 来访问本地机器或远程机器上的文件系统吗?

我能够用它绑定本地目录/文件,但无法找到一种机制(如果存在)来读取/修改文件的内容。

这些文件是简单的文本文件。

请告诉我是否可能,以及如何?