Ejb3.0+jboss 8 创建EJB demo

本文介绍如何使用Eclipse和WildFly 8.x实现EJB接口的创建及其实现,并通过导出接口为jar包的方式,在客户端进行远程调用。包括配置jboss-ejb-client.properties文件及客户端代码示例。

工具:Eclipse , wildfly 8.x

1、服务端:
1)创建接口
package com.welv.ejb;

  public interface FirstEjb {

public String saySomething(String name);

  }
2)实现
 package com.welv.ejb.impl;
 import javax.ejb.Remote;
 import javax.ejb.Stateless;
 import com.welv.ejb.FristEjb;

 @Stateless
 @Remote(FirstEjb.class)
 public class FirstEjbBean implements FirstEjb{
@Override
public String saySomething(String name) {
    // TODO Auto-generated method stub
    return "nihaoaaaaaaa";
}
 }

2、抽取接口,将接口export成jar包

3、创建client:
1)导入2创建的jar包

 2)创建properties文件: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=8080
    remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
    remote.connection.default.username=admin
    remote.connection.default.password=adminadmin  
 **用户名密码可以通过jboss下bin文件夹中的add-user.bat进行设置
 **jboss7的port为4447,jboss6为1099且jboss6的配置文件不同

 2)客户端代码:
    package com.welv.ejbclient;
    import java.util.Properties;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import com.welv.ejb.FirstEjb;

    public class FirstEjbClient {

public static void main(String[] arg){

    try{
    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 = "FirstEjbBean";
    // 接口类的全名
    final String viewClassName = FirstEjb.class.getName();

    String lookupStr = "ejb:" + appName + "/" + moduleName + "/"
            + distinctName + "/" + beanName + "!" + viewClassName;

    System.out.println(lookupStr);

    FirstEjb firstejb = (FirstEjb) context.lookup(lookupStr);
    String s = firstejb.saySomething("ss");
    System.out.println(s);
    }catch(Exception e){
        System.out.println("请检查调用方法是否为远程");
    }
  }

    }
经过试验,可行

转载于:https://www.cnblogs.com/welv/p/4951666.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值