繁体   English   中英

如何使用核心Java来实现JNDI机制?

[英]How to use core java to implement the mechanism JNDI?

我确保自己了解我为什么要使用JNDI来获取要在应用程序中使用的对象并了解其功能。 但是我的问题是例如Tomcat或Jboss如何实现此功能?

如果有机会,我将使用套接字来实现以下内容:

Client side: 
Socket socket = new Socket("localhost",10000);
//get a Person Object
socket.write("JNDI/Person")


Server side :
ServerSocket socketServer = new ServerSocket("localhost", 10000);
string str= socket.read();
if(str.equals("JNDI/Person")){
  //ok I return back you a Person object.

 socketServer.write(new Person());
}

我上面草拟的这种方法正确与否,谁能告诉我Tomcat / Jboss或其他容器如何实现JNDI。 提前致谢 。

我无法告诉您它在JBoss或Tomcat中是如何工作的,但是它很容易实现。 按照简单的逻辑,使用ConcurrentHashMap存储对象。 对任何对象的访问时间约为O(1),非常适合查找。 哈希表可以实现为静态类字段,以供运行中的应用程序的任何部分访问。

从这里:

http://docs.oracle.com/javase/7/docs/api/javax/naming/package-summary.html

“上下文是用于查找,绑定,解除绑定和重命名对象以及创建和销毁子上下文的核心接口。” 实际上,它提供了HashMaps的所有基本操作。 其他所有只是扩展。

作为奖励,它只需要1 LOC,而不是注释行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM