哪种方法可以提供更好的性能?
一种方法 - 与消费者 REST 服务建立 HTTP URL 连接
第二种方法 - 执行 JNDI 查找,然后调用对象上的 API 来使用服务
最佳答案
正如 JNDI vs HTTP/TCP 中已经回答的那样,JNDI 独立于传输协议(protocol)。它只是一个访问目录服务的 Java API。
将其与 JDBC 进行比较:它是与数据库通信的 Java API。实际的通信由 JDBC 驱动程序决定。它甚至可能是直接调用的内存数据库,也可能是使用供应商特定网络协议(protocol)调用的远程数据库。
在问题中描述的第二种方法中,JNDI 将用于查找 Web 服务的 stub 对象。一旦获得 stub ,JNDI 就退出了游戏。
当调用 stub 上的方法时, stub 会将其转换为 HTTP 请求,因为调用了 RESTful Web 服务。但再一次,这不再是 JNDI 所做的事情。
在性能方面,除了第二种方法的额外查找步骤之外,没有任何区别。
关于java - 通过 REST 或 JNDI 使用服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20241006/