У меня есть указатель (JNDI) на сервис EJB3, который был создан на другой стороне канала связи.Или, другими словами, он был создан на сервере приложений наших клиентов.Теперь мне нужно сделать интерфейс на основе ADF для вызова этого EJB3.У меня нет проблем с интерфейсом, но я борюсь с тем, как вызвать EJB3.Должен ли я сделать это в своем бэк-бине, как это сделано клиентом:
public class SessionEJBClient {
public static void main(String[] args) {
try {
final Context context = getInitialContext();
SessionEJB sessionEJB = (SessionEJB)context.lookup("MyApp-SessionEJB#org.test.SessionEJB");
} catch (CommunicationException ex) {
System.out.println(ex.getClass().getName());
System.out.println(ex.getRootCause().getLocalizedMessage());
System.out.println("\n*** A CommunicationException was raised. This typically\n*** occurs when the target WebLogic server is not running.\n");
} catch (Exception ex) {
ex.printStackTrace();
}
}
private static Context getInitialContext() throws NamingException {
Hashtable env = new Hashtable();
// WebLogic Server 10.x connection details
env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
env.put(Context.PROVIDER_URL, "t3://serverhost:serverport");
return new InitialContext(env);
}
}
Или есть ли другой способ сделать это?Или, другими словами, как правильно ссылаться и вызывать удаленный EJB3?
10x