0
作爲Consuming an EJB的後續問題。我在JBOSS AS 6.0上創建了一個ejb,並使用以下代碼在java客戶端中使用它。JDK1.4中的Ejb消耗
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。我也嘗試從舊版本的JBoss AS中獲取jar文件,但是它不適用於服務器的更新版本:( 有沒有辦法編寫一個獨立於JDK版本的EJB消費者(也可能是供應商是獨立的!),並且可以在1.4到6之間的所有JDK中工作?
這就是我現在正在做的事情,並且使用一個註釋非常容易,但是我想使用EJB,因爲這將節省大量的XML編組和解組時間。 – Sap