Remote EJB in Kubernetes

Solved it!

So, the first problem was resolving host mapping, which was resolved as mentioned in edit above, by adding host aliases id pod definitions:

Remote pod:

hostAliases:
- ip: 0.0.0.0
  hostnames:
  - my.host.name

Client pod:

hostAliases:
- ip: {remote.server.service.ip.here}
  hostnames:
  - my.host.name

Remote server then has to use that host name in iiop host definition:

<iiopEndpoint id="defaultIiopEndpoint" host="my.host.name" iiopPort="2809" />

Also, client has to reference that host name through JNDI lookup:

corbaname::my.host.name:2809#ejb/global/some-app/ejb/BeanName!org\.example\.com\.BeanRemote

This setup resolves remote EJB call.

The other problem with ClassCastException was really unusual. I managed to reproduce the error on Docker host and then changed one thing at a time until the problem was resolved. It turns out that the problem was with ldapRegistry-3.0 feature (!?). Adding this feature to client’s feature list resolved my problem:

<feature>ldapRegistry-3.0</feature>

With this feature added, remote EJB was successfully called.

CLICK HERE to find out more related problems solutions.

Leave a Comment

Your email address will not be published.

Scroll to Top