在查找部署在WebSphere 8.5上的EJB 3.1时,我遇到了问题。
请建议我:
注意:我使用的是Eclipse IDE
答案 0 :(得分:6)
试试这个:
com.ibm.ws.ejb.thinclient_8.5.0.jar
和com.ibm.ws.orb_8.5.0.jar
个jar添加到客户端应用程序的类路径中。createEJBStubs.sh
脚本生成客户端存根。
在createEJBStubs.sh
目录下找到<WAS_HOME>/bin
脚本。
./createEJBStubs.sh <ejbJarName>.jar
JNDI
提供自定义EJB
名称,如下所示:
Applications>All applications
。
Bind EJB Business
下的Enterprise Java Bean Properties
。
JNDI
列下的EJB
设置自定义JNDI name
名称。例如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();
}
}
}
以上代码和流程对我有用。
答案 1 :(得分:5)
查看此页面Running the 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