|
Referring remote bean from another container |
|
|
From one EJB, you want to invoke a method on another EJB in a remote EJB container. In most EJB applications,
completing business logic in one EJB involves invoking another EJB. Large enterprise applications may
separate business logic across hosts, or may invoke other EJB applications to complete a workflow. In these cases,
you might need to access remote EJBs from other EJBs. For this solution, you need to know how to create an initial
context for finding a remote EJB container in order to look up or create remote EJBs.
In our case we use remote EJB running on WebLogic server 'some.host.com', so we set-up initial context instance with
the correct properties to find a remote WebLogic container.
...
private SomeRemoteHome getSomeRemoteHome() {
try {
// configure and get initial JNDI context:
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
props.put(Context.PROVIDER_URL, "http://some.host.com:7001");
Context ic = new InitialContext(props);
// performs JNDI lookup of the EJB home-object:
SomeRemoteHome home = (SomeRemoteHome)
ic.lookup("test.someHome");
// necessarilly, retrieve the EJB's stub for use:
home = (SomeRemoteHome) PortableRemoteObject.narrow(
home, EquityHome.class);
return home;
} catch (NamingException error) {
error.printStackTrace();
return null;
}
}
...
|
Related Tips
|
Page 1 of 0 ( 0 comments )
You can share your information about this topic using the form below!
Please do not post your questions with this form! Thanks.