zoukankan      html  css  js  c++  java
  • Ejb3.0+jboss 8 创建EJB demo

    工具: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("请检查调用方法是否为远程");
    	}
      }
    
        }
    

    经过试验,可行

  • 相关阅读:
    发短信集合类-阿里云短信涉及类
    第四方 fast快捷支付封装
    佰米支付封装
    支付宝支付封装【修改至2021.01.11】
    关于支付
    tp5下的文件上传与下载类
    发送短信集合类
    文件中设置开启访问权限
    SpringBoot注解分析
    HashMap底层实现原理及面试问题
  • 原文地址:https://www.cnblogs.com/welv/p/4951666.html
Copyright © 2011-2022 走看看