我有一个EJB和使用它的WebService应用。
我已经部署了EJB。尝试部署Web服务时出现错误。
如果我的jar包含Web服务部署中包含的EJB类(位于war lib目录中),则服务器尝试再次注册EJB(这会在启动时引发错误)
如果我使用EJB jar作为编译器构建Web服务,则仅Web服务将不会部署,因为它找不到EJB。
我假设EJB应该不成为Web服务部署的一部分,但我的客户端应用程序对它的引用应不同于我。客户端应用程序确实可以独立运行。
在这里我声明bean
@EJB
static oAuthTokenOBJ tokenBean;
public static oAuthTokenOBJ getTokenBean() {
return tokenBean;
}
public static void setTokenBean(oAuthTokenOBJ oAuthTokenOBJ) {
tokenBean = oAuthTokenOBJ;
}
这是获取豆子的相当标准的东西
@SuppressWarnings("unchecked")
private static Context getInitialContext() throws NamingException {
@SuppressWarnings("rawtypes")
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
//env.put(Context.PROVIDER_URL, "t3://127.0.0.1:7001");
env.put(Context.PROVIDER_URL, "t3://hdcblad0920.hud.gov:7011");
return new InitialContext(env);
}
public static void getBean() {
try {
final Context c = getInitialContext();
// get the bean: oAuthToken#com.salientcrgt.chums.oAuthTokenOBJ
setTokenBean( (oAuthTokenOBJ) c.lookup("oAuthToken#com.salientcrgt.chums.oAuthTokenOBJ"));
} catch (Exception ex) {
ex.printStackTrace();
}
}
在部署餐巾纸时,如何更改我的餐巾客户机以使用Bean,而服务器不尝试重新注册它?