首先导入EJB的jar包到java应用中
然后导入JBoss的依赖jar包
然后在java根目录下建立jboss-ejb-client.properties配置文件
endpoint.name=client-endpoint
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
remote.connections=default
remote.connection.default.host=localhost
remote.connection.default.port=4447
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
remote.connection.default.username=admin
remote.connection.default.password=*******
javaclient 代码如下:
package com.manfred.ejb.javaclient;
import java.util.Hashtable;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import com.manfred.ejb.HelloWorldRemote;
public class EJB_01_JavaClient {
public static void main(String[] args) throws NamingException {
final Properties jndiProperties = new Properties();
jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
final Context context = new InitialContext(jndiProperties);
final String appName = "";
// 部署的jar文件的名字
final String moduleName = "EJB_01";
final String distinctName = "";
// 实现类的类名
final String beanName = "HelloWorldBean";
// 接口类的全名
final String viewClassName = HelloWorldRemote.class.getName();
String lookupStr = "ejb:" + appName + "/" + moduleName + "/" + distinctName + "/" + beanName + "!"
+ viewClassName;
System.out.println(lookupStr);
// 实现客户端对EJB的访问
HelloWorldRemote hwr = (HelloWorldRemote) context.lookup(lookupStr);
// hwr.sayHello("Manfred");
String sss = hwr.sayHello("Manfred");
System.out.println(sss);
}
}