问题
Need some help with below issue
We have 2 machines, each of these machines has 2 websphere cells installed in it. Machine 1 (X1 and X2 cell) Machine 2 (Y1 and Y2 cell)
We have web application installed on X1 cell, which has EJB client component, which invokes business methods on EJB component installed on each of 4 cells i.e. X1 , X2 , Y1 and Y2. EJB client component look-ups the home interface using IIOP URL look-up, using InitalContext class.
Communication of EJB client component with B1 and B2 happens, properly, without any issues. But communication with X2 cell, does not happens properly (does not see any home interface look-up problems in logs), it somehow calls business methods on X1 server itself.
We had a plain Java client which uses main()
method to invoke all four servers. This setup was up & running in production for 2 years. But the problem started since we moved the logic of invocation of four servers in Web application instead of main().
What difference does it makes that X1 and X2 are on the same physical machine?
回答1:
If the servers have the same name, then I suspect you need the com.ibm.websphere.orb.uniqueServerName
property specified in the "Two servers with the same name running on the same host are being used to interoperate" of this InfoCenter article:
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/topic/com.ibm.websphere.nd.multiplatform.doc/info/ae/ae/rtrb_namingprobs.html
回答2:
I encountered this problem once on a test system. It occurs if WebSphere (incorrectly) determines that the EJB actually runs in the local server. In my case this occurred with two servers running on the same host and configured with the same server name (server1). Unfortunately I don't know any solution (other than reinstalling one of the servers with a different server name).
来源:https://stackoverflow.com/questions/9032922/websphere-6-1-issue-in-multiple-cells-call-using-iiop