- 浏览: 939035 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (453)
- Windows phone 7 (0)
- Andriod (47)
- iPhone (1)
- Web (30)
- J2EE (34)
- stucts 2学习笔记 (34)
- 开发项目 (3)
- spring学习笔记 (24)
- EJB学习笔记 (6)
- Hibernate学习笔记 (15)
- JPA学习笔记 (8)
- Jsp (11)
- ajax (7)
- 异常收集模块 (1)
- jquery (2)
- phoneGap (2)
- jquery Mobile (0)
- java面试总结 (5)
- Object-C (0)
- javascript (6)
- Eclipse (5)
- 支付集成 (2)
- Weblogic (1)
- Dubbox (5)
- Redis (10)
- linux (21)
- Codis (2)
- React Native (0)
- Mysql (6)
- Docker (3)
- 自动化部署 (1)
- 项目Bug管理平台 (2)
- 负载均衡 (1)
- Mycat (2)
- Java基础知识 (16)
- 数据库 (7)
- Maven (17)
- Kafka (21)
- logs (2)
- 大并发 (2)
- 消息中间件 (2)
- 分布式锁 (3)
- 算法 (4)
- 数字证书原理,公钥私钥 (0)
- 数字证书原理 (1)
- 公钥私钥 (1)
- zookeeper (4)
- Hbase (9)
- Hadoop (2)
- storm (2)
- 通信协议 (1)
- Hive (3)
- git (1)
- JVM (2)
- 大数据相关算法 (1)
- idea (5)
- 将博客搬至CSDN (1)
- 设计模式 (2)
- 表达式 (1)
- 代码审查工具 (0)
- 开源项目 (1)
- PyCharm (0)
- python (6)
- Kubernetes (1)
- swagger (1)
- Maven中mirrors和repository的关系 (0)
- RabbitMQ (3)
- redisson (1)
- k8s (2)
- Mac (1)
最新评论
-
misisipi101:
假设库已经分为32个,那么要扩展到64个,怎样做呢
订单分库分表实践总结以及关键步骤 -
mfkxk298:
简单明了的例子,解决了问题,谢谢啦!
关于ListView中notifyDataSetChanged()刷新数据不更新原因 -
whbwang:
" target="_blank" ...
java web开发 高并发处理 -
suguoqian:
...
java web开发 高并发处理 -
xiangnanyujing:
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
使用JBoss、EJB3.0、开发WebService和客户端:
1、 首先我们先建立Webservice:
第一步:首先建立一个普通的Java项目并且导入G:\javaEEServers\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\client下的所有*.jar文件
第二步:建立EJB Bean接口如下:
public interface OrderService {
public String getUserName(String name);
public Order getOrder(String orderid);
public List<Order> getOrders();
}
第三步:建立实现这个EJB Bean接口实现类
@Stateless //这里指定Bean的会话状态
@Remote(OrderService.class)//远程接口
//修改WebService中的一些属性方法如下
@WebService(targetNamespace="htttp://www.liyong.com"//名字空间
,name="OrderService"//portType 的name
,serviceName="OrderServiceBean")//修改服务的名称
public class OrderServiceBean implements OrderService {
//需要把某个方法发布为Webservice在其前面加上@WebMethod其他没有加的默认不发布问Webservice方法
@Override
public Order getOrder(String orderid) {
//这里只是模拟数据,可从数据库中得到数据
Order order=new Order();
order.setOrderid(orderid);
order.setName("小李");
return order;
}
@Override
public List<Order> getOrders() {
List<Order> orders=new ArrayList<Order>();
Order order1=new Order();
order1.setOrderid("111");
order1.setName("小张");
Order order2=new Order();
order2.setOrderid("222");
order2.setName("小王");
orders.add(order1);
orders.add(order2);
return orders;
}
@Override
public String getUserName(String name) {
return name;
}
}
第四步:使用ANT来编译、发布我们的EJB Bean build.xml
<?xml version="1.0"?>
<!-- ======================================================================= -->
<!-- EJB3 HelloWorld build file -->
<!-- ======================================================================= -->
<project name="WebService" default="ejbjar" basedir=".">
<property environment="env" />
<property name="app.dir" value="${basedir}" />
<property name="src.dir" value="${app.dir}" />
<property name="jboss.home" value="${env.JBOSS_HOME}" />
<property name="jboss.server.config" value="default" />
<property name="build.dir" value="${app.dir}\build" />
<property name="build.classes.dir" value="${build.dir}\classes" />
<!-- Build classpath -->
<path id="build.classpath">
<fileset dir="${jboss.home}\client">
<include name="*.jar" />
</fileset>
<pathelement location="${build.classes.dir}" />
</path>
<!-- =================================================================== -->
<!-- Prepares the build directory -->
<!-- =================================================================== -->
<target name="prepare" depends="clean">
<mkdir dir="${build.dir}" />
<mkdir dir="${build.classes.dir}" />
</target>
<!-- =================================================================== -->
<!-- Compiles the source code -->
<!-- =================================================================== -->
<target name="compile" depends="prepare" description="编绎">
<javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" deprecation="on" optimize="off" includes="com/**">
<classpath refid="build.classpath" />
</javac>
</target>
<target name="ejbjar" depends="compile" description="创建EJB发布包">
<jar jarfile="${app.dir}\HelloWorld.jar">
<fileset dir="${build.classes.dir}">
<include name="com/**/*.class" />
</fileset>
</jar>
</target>
<target name="deploy" depends="ejbjar">
<copy file="${app.dir}\HelloWorld.jar" todir="${jboss.home}\server\${jboss.server.config}\deploy" />
</target>
<!-- =================================================================== -->
<!-- Cleans up generated stuff -->
<!-- =================================================================== -->
<target name="clean">
<delete dir="${build.dir}" />
<delete file="${jboss.home}\server\${jboss.server.config}\deploy\HelloWorld.jar" />
</target>
</project>
第五步:发布我们的EJB Bean --->之前开启JBoss服务
第六步:编写我们的WebServiceClient
我们使用wsimport工具的Ant任务类生成辅助类 build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="WebServiceClient" default="wsclientgen" basedir=".">
<property name="src.dir" value="${basedir}/src" />
<path id="build.classpath" description="设置类路径">
<fileset dir="${basedir}/lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="wsclientgen" description="生成webservice客户端辅助代码,执行后请刷新项目">
<taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport" classpathref="build.classpath"/>
<wsimport
//这里的"http://...."可以再JBoss客户端得到
//http://localhost:8080/jbossws/services
wsdl="http://127.0.0.1:8080/HelloWorld/OrderServiceBean?wsdl"
sourcedestdir="${src.dir}" package="com.foshanshop.ws.client" keep="true"
verbose="true" destdir="${basedir}/bin"/>
</target>
</project>
第七步:编译生成辅助类 这是可以看到我们的Src目录中生成了许多文件
第八步:
我们编写单元测试来调用Webservice的代码
public class Test {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@org.junit.Test
public void getOrder()
{
OrderServiceBean orderServiceBean =new OrderServiceBean();
OrderService order=orderServiceBean.getOrderServicePort();
Order order2=order.getOrder("333");
System.out.println(order2.getOrderid()+order2.getName());
}
}
1、 首先我们先建立Webservice:
第一步:首先建立一个普通的Java项目并且导入G:\javaEEServers\jboss-4.2.3.GA-jdk6\jboss-4.2.3.GA\client下的所有*.jar文件
第二步:建立EJB Bean接口如下:
public interface OrderService {
public String getUserName(String name);
public Order getOrder(String orderid);
public List<Order> getOrders();
}
第三步:建立实现这个EJB Bean接口实现类
@Stateless //这里指定Bean的会话状态
@Remote(OrderService.class)//远程接口
//修改WebService中的一些属性方法如下
@WebService(targetNamespace="htttp://www.liyong.com"//名字空间
,name="OrderService"//portType 的name
,serviceName="OrderServiceBean")//修改服务的名称
public class OrderServiceBean implements OrderService {
//需要把某个方法发布为Webservice在其前面加上@WebMethod其他没有加的默认不发布问Webservice方法
@Override
public Order getOrder(String orderid) {
//这里只是模拟数据,可从数据库中得到数据
Order order=new Order();
order.setOrderid(orderid);
order.setName("小李");
return order;
}
@Override
public List<Order> getOrders() {
List<Order> orders=new ArrayList<Order>();
Order order1=new Order();
order1.setOrderid("111");
order1.setName("小张");
Order order2=new Order();
order2.setOrderid("222");
order2.setName("小王");
orders.add(order1);
orders.add(order2);
return orders;
}
@Override
public String getUserName(String name) {
return name;
}
}
第四步:使用ANT来编译、发布我们的EJB Bean build.xml
<?xml version="1.0"?>
<!-- ======================================================================= -->
<!-- EJB3 HelloWorld build file -->
<!-- ======================================================================= -->
<project name="WebService" default="ejbjar" basedir=".">
<property environment="env" />
<property name="app.dir" value="${basedir}" />
<property name="src.dir" value="${app.dir}" />
<property name="jboss.home" value="${env.JBOSS_HOME}" />
<property name="jboss.server.config" value="default" />
<property name="build.dir" value="${app.dir}\build" />
<property name="build.classes.dir" value="${build.dir}\classes" />
<!-- Build classpath -->
<path id="build.classpath">
<fileset dir="${jboss.home}\client">
<include name="*.jar" />
</fileset>
<pathelement location="${build.classes.dir}" />
</path>
<!-- =================================================================== -->
<!-- Prepares the build directory -->
<!-- =================================================================== -->
<target name="prepare" depends="clean">
<mkdir dir="${build.dir}" />
<mkdir dir="${build.classes.dir}" />
</target>
<!-- =================================================================== -->
<!-- Compiles the source code -->
<!-- =================================================================== -->
<target name="compile" depends="prepare" description="编绎">
<javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="on" deprecation="on" optimize="off" includes="com/**">
<classpath refid="build.classpath" />
</javac>
</target>
<target name="ejbjar" depends="compile" description="创建EJB发布包">
<jar jarfile="${app.dir}\HelloWorld.jar">
<fileset dir="${build.classes.dir}">
<include name="com/**/*.class" />
</fileset>
</jar>
</target>
<target name="deploy" depends="ejbjar">
<copy file="${app.dir}\HelloWorld.jar" todir="${jboss.home}\server\${jboss.server.config}\deploy" />
</target>
<!-- =================================================================== -->
<!-- Cleans up generated stuff -->
<!-- =================================================================== -->
<target name="clean">
<delete dir="${build.dir}" />
<delete file="${jboss.home}\server\${jboss.server.config}\deploy\HelloWorld.jar" />
</target>
</project>
第五步:发布我们的EJB Bean --->之前开启JBoss服务
第六步:编写我们的WebServiceClient
我们使用wsimport工具的Ant任务类生成辅助类 build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="WebServiceClient" default="wsclientgen" basedir=".">
<property name="src.dir" value="${basedir}/src" />
<path id="build.classpath" description="设置类路径">
<fileset dir="${basedir}/lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="wsclientgen" description="生成webservice客户端辅助代码,执行后请刷新项目">
<taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport" classpathref="build.classpath"/>
<wsimport
//这里的"http://...."可以再JBoss客户端得到
//http://localhost:8080/jbossws/services
wsdl="http://127.0.0.1:8080/HelloWorld/OrderServiceBean?wsdl"
sourcedestdir="${src.dir}" package="com.foshanshop.ws.client" keep="true"
verbose="true" destdir="${basedir}/bin"/>
</target>
</project>
第七步:编译生成辅助类 这是可以看到我们的Src目录中生成了许多文件
第八步:
我们编写单元测试来调用Webservice的代码
public class Test {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@org.junit.Test
public void getOrder()
{
OrderServiceBean orderServiceBean =new OrderServiceBean();
OrderService order=orderServiceBean.getOrderServicePort();
Order order2=order.getOrder("333");
System.out.println(order2.getOrderid()+order2.getName());
}
}
- EJB-PPT.zip (238.3 KB)
- 下载次数: 9
- 源码.zip (7.1 MB)
- 下载次数: 17
发表评论
-
CDN加速WordPress触发CORS导致跨域加载失败
2018-04-09 17:36 1570这两天折腾CDN加速来提升自己博客的访问速度,用的阿里云C ... -
PV模型
2017-02-05 18:05 721你想建设一个能承受500万PV/每天的网站吗? 500万PV ... -
App开发一些总结
2016-04-05 17:48 2600架构因人而异,不同的架构师大多会有不同的看法;架构也因项目 ... -
解决fastjson内存对象相互应用导入json字符串出现错误问题
2016-04-05 17:48 1539日常在使用FastJson的时候可能很少会 ... -
分布式配置统一管理平台-Windows
2016-02-02 14:10 2721这里主要使用到disconf分布式配置管理平台 支持wind ... -
Codis使用入门
2016-01-15 16:35 1730首先严重吐槽 在使用Coids遇到无数坑 坑 坑 ... ... -
高可用消息队列框架ZBUS
2016-01-13 10:47 5987我们在日常开发中可以需要用到消息队列 当然我们完全可以自己 ... -
实现消息推送核心搭建(升级版)
2016-01-08 15:43 1725前面已经实现了第一版 ... -
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
2015-12-30 15:55 10543这里在开始搭建环境之前请搭建先熟悉了解Dubbox、Red ... -
java 实现微信搜索附近人功能
2015-03-25 18:07 4932最近给andorid做后台查询数据功能,有一个需求是模仿微信 ... -
重庆APP开发 重庆Android 重庆Ios 爬虫科技 重庆爬虫科技
2014-10-06 12:03 9<!--[if gte mso 9]><x ... -
Javascript: unterminated string literal解决方法
2014-02-06 16:47 1974Javascript: unterminated strin ... -
身份证验证 80秒13亿数据校验
2014-01-15 13:41 9800/** * @Company asiainfo-linkag ... -
网页上播放视频的免费的播放器_CKPlayer
2013-12-12 14:17 2241今天在工作的过程中遇到一个功能:在网页中加入视频播放器 ... -
Ehcache 整合Spring 使用页面、对象缓存
2013-12-12 13:04 1293Ehcache 整合Spring 使用页面、对象缓存 E ... -
js 手机验证
2013-12-11 13:25 705** * 手机号:目前全国有27种手机号段。 * 移动有16 ... -
Freemarker使用
2013-12-04 16:57 1128以下内容全部是网上收 ... -
Hibernate数据缓存策略
2013-11-27 23:28 1133(一)hibernate数据缓存策略 缓存是数据 ... -
国内开源cms
2013-07-03 16:51 7http://www.jeecms.com/ -
FCkediter 整个struct2
2013-05-19 18:52 1405在这里总结一下今天使用Fckediter 和在整合Struct ...
相关推荐
**EJB 3.0 学习总结(二)——EJB 3.0 容器模型的 WEB 服务** EJB(Enterprise JavaBeans)3.0 是 Java 平台企业版(Java EE)中的一项核心技术,它为构建可扩展、安全且易于管理的企业级应用程序提供了强大的支持...
在本主题"ejb3 第12讲 --开发EJB容器模型的WEB服务"中,我们将探讨如何利用EJB 3.0版本来创建和整合Web服务。EJB 3.0是一个重要的里程碑,因为它显著简化了EJB的使用,引入了更多的POJO(Plain Old Java Object)...
比如,`@WebService`用于标记Web服务,`@TransactionAttribute`用于定义事务管理策略,`@Inject`用于依赖注入等。这些注解让代码更具可读性和可维护性。 ### JPA(Java Persistence API) EJB3.0还引入了JPA,它是...
- EJB 3.0允许Bean直接暴露为Web服务,使用`@WebService`注解,简化了服务端开发。 10. **测试与调试** - EJB 3.0支持单元测试和集成测试,可以单独测试Bean,提高了代码质量。 这两本书的内容可能涵盖了以上...
本教程将深入讲解EJB3.0的核心概念和关键组件,包括Entity Beans、Message-Driven Beans(MDB)以及容器的使用方法,同时也涉及事务管理和Web服务的集成。 **1. Entity Beans** Entity Beans是EJB中的持久化对象,...
1. EJB 3.0可以轻松地与Web服务结合,通过JAX-WS(Java API for XML Web Services)提供SOAP服务。 2. `@WebService`注解将Bean转换为Web服务,`@WebMethod`标记服务方法。 八、EJB 3.0的优势 1. 简化的编程模型:...
`@WebService`注解还可以将会话bean直接暴露为Web服务。 4. **消息驱动bean**:EJB3.0通过`@MessageDriven`注解实现了对JMS(Java Message Service)的支持,使得bean可以作为消息消费者,处理异步通信。 5. **...
在“ejb3.0实例教程”中,你将通过一系列实践示例掌握这些概念,了解如何创建、配置、部署和测试EJB 3.0应用。这个教程将帮助你成为一名熟练的Java EE开发者,能够利用EJB 3.0的强大功能构建高效、可靠的企业级解决...
EJB 3.0也支持Web服务,通过`@WebService`注解,可以直接将Bean暴露为SOAP或RESTful服务。 9. **集成性** EJB 3.0与Java EE其他组件(如JMS、JPA、JSF等)的集成更加紧密,使得构建复杂的企业级应用更为方便。 ...
7. **ejb-3_0-pfd-spec-simplified.pdf**:这份文档重点讲解EJB 3.0的简化模型,如何通过注解实现更简洁的编码风格,以及如何利用依赖注入和容器服务来提高开发效率。 理解并熟练掌握EJB 3.0规范,对于开发高效、...
EJB 3.0允许直接将Bean暴露为Web服务,通过@WebService注解,开发者可以轻松地创建SOAP服务。 9. **持续集成和测试** EJB 3.0的测试框架允许在没有EJB容器的情况下对Bean进行单元测试,通过使用@EJB(lookup="")...
EJB3.0可以轻松地暴露为Web服务,通过`@WebService`注解,使得服务可以被SOAP或RESTful方式访问。 7. **EJB与Spring框架的对比** 虽然EJB3.0的许多特性与Spring框架相似,但两者定位不同。EJB更偏向于企业级应用...
4. **Web服务**:EJB 3.0版本也加强了与Web服务的集成,支持SOAP和RESTful风格的服务。通过JAX-WS和JAX-RS,EJB组件可以方便地暴露为Web服务,或消费外部服务。 5. **容器管理的事务(CMT)**:EJB容器自动管理事务...