[英]How to write EJB 3.1 client for WebSphere 8.5?
在查找部署在WebSphere 8.5上的EJB 3.1時,我遇到了問題。
請建議我:
注意:我正在使用Eclipse IDE
嘗試這個 :
com.ibm.ws.ejb.thinclient_8.5.0.jar
和com.ibm.ws.orb_8.5.0.jar
jars添加到客戶端應用程序的類路徑中。 createEJBStubs.sh
腳本生成客戶端存根。 <WAS_HOME>/bin
目錄下找到createEJBStubs.sh
腳本。 ./createEJBStubs.sh <ejbJarName>.jar
EJB
提供自定義JNDI
名稱,如下所示: Applications>All applications
。 Enterprise Java Bean Properties
下的Bind EJB Business
。 JNDI name
列下為EJB
設置自定義JNDI
名稱。 例如customLookupString
客戶代碼示例:
public class WebSphereClient {
public static void main(String[] args) {
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY,
"com.ibm.websphere.naming.WsnInitialContextFactory");
props.put(javax.naming.Context.PROVIDER_URL, "iiop://localhost:2818");
TestBeanRemote bean = null;
Object obj;
try {
InitialContext ctx = new InitialContext(props);
obj= ctx.lookup("customLookupString");
if (obj instanceof TestBeanRemote) {
bean = (TestBeanRemote) obj;
}
System.out.println("Name : "+bean.getName());
} catch (NamingException e) {
e.printStackTrace();
}
}
}
以上代碼和流程對我有用。
查看此頁面運行IBM Thin Client for Enterprise JavaBeans(EJB)以獲取更多詳細信息。
我需要在classpath中包含哪些庫?
您將需要com.ibm.ws.ejb.thinclient_8.5.0.jar
(位於app_server_root\\runtimes
)和endorsed_apis_8.5.0.jar
(位於app_server_root \\ runtimes \\ endorsed中)。 將endoresed jar復制到JAVA_JRE\\lib\\endorsed
如何構造查找字符串?
像這樣調用你的應用程序:
<java_install_root>\bin\java
-classpath com.ibm.ws.ejb.thinclient_8.5.0.jar;<list_of_your_application_jars_and_classes>
-Djava.naming.provider.url=iiop://<your_application_server_machine_name>:<orbPort>
<fully_qualified_class_name_to_run>
如果您在服務器上啟用了安全性並且需要SSL,則需要添加以下內容:
-Dcom.ibm.SSL.ConfigURL=file:///home/user1/ssl.client.props
-Dcom.ibm.CORBA.ConfigURL=file:///home/user1/sas.client.props
您可以在PROFILE_ROOT\\properties
中的WebSphere安裝文件中找到這些文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.