我在同一主机上运行了2个独立的IBM WebSphere服务器。两个服务器都部署了相同的EJB,但我们的代码分别作为ClientAgent和服务分布在2个EAR中。从clientAgent调用任何服务方法,即从serverA到serverB的EJB调用时,它会因classnotfound错误而失败。我打开NamingService跟踪来诊断问题,发现ServerB使用的是与ServerA相同的JNDI名称空间。
如何让ServerB使用自己的JNDI名称空间?
注意: - 在不同主机上使用ServerA和ServerB,一切正常。
由于 Shivam
答案 0 :(得分:0)
你的问题似乎并不清楚。您已声明“服务器B使用与服务器A相同的JNDI名称空间”
你是什么意思?
每个服务器都有自己的JNDI空间,其中EJB和其他资源或已注册。
请注意,您通常连接到服务器的引导端口以连接到JNDI名称空间。默认值为2809,服务器A的自举端口可能是2809。
服务器B有一个不同的说2810,你的客户端代码应该连接到这个端口。
我猜你的代码是一个localhost:2809,它将它连接到服务器A.
如果你清楚地阐述问题,人们可能会帮助你。
HTH
Manglu