Как постулат к Вопрос EJB .Я создал ejb на JBOSS AS 6.0 и использую его в java-клиенте, используя следующий код.
private ServiceLocator(String host, String principal, String creadentials) throws NamingException {
Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
env.put(Context.URL_PKG_PREFIXES,
"org.jboss.naming:org.jnp.interfaces");
env.put(Context.PROVIDER_URL, "jnp://" + host);
System.out.println("jnp://" + host);
env.put(Context.SECURITY_PRINCIPAL, principal);
env.put(Context.SECURITY_CREDENTIALS, creadentials);
env.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.jboss.security.jndi.JndiLoginInitialContextFactory");
InitialContext ct = new InitialContext(env);
cachedStructSpeechRemote = (StructSpeechRemote) ct.lookup("eCWServicesEAR/StructSpeechService/remote-com.ecw.ejb.StructSpeechRemote");
}
Потребитель использует JBOSS-all-client.jar, присутствующий в папке клиента JBoss AS6.0,Я не могу использовать тот же код с JDK1.4, потому что JAR не совместим с JDK 1.4.Я также попытался получить jar-файл из более старого дистрибутива JBoss AS, но он не работает с более новым дистрибутивом сервера :( Есть ли способ написать EJB-потребитель, который не зависит от версии JDK (может быть также и поставщиком)независимо!) и может работать во всех JDK в диапазоне от 1,4 до 6?