当前位置: 首页 > news >正文

「Java EE开发指南」用MyEclipse开发EJB 3无状态会话Bean(二)

MyEclipse中文使用教程图集

本教程介绍在MyEclipse中开发EJB 3无状态会话bean,由于JPA实体和EJB 3实体非常相似,因此本教程不涉及EJB 3实体Bean的开发。在本教程中,您将学习如何:

  • 创建EJB 3项目
  • 创建无状态会话bean
  • 部署并测试bean

在上文中(点击这里回顾>>),我们为大家介绍了如何创建一个EJB 3项目、创建无状态会话Bean等,本文将继续介绍如何部署和测试Bean,欢迎下载最新版IDE体验!

MyEclipse v2025.1离线版下载

三、部署Bean

部署和运行步骤是通过使用MyEclipse将Bean部署到Java EE兼容的应用程序服务器来完成的,本教程指定了TomEE 8独有的几个步骤,如果希望部署到另一个应用服务器,请查找相应的设置。

注意:要允许远程调用EJBs,请在lt;install-dir>/conf/system.properties中进行以下更改

  • 设置tomee.remote.support 为 true
  • 设置tomee.serialization.class.blacklist 为 

1. 在Servers视图中右键单击TomEE服务器,并选择Add/Remove deployment

2. 在可用列中选择SampleEJBProject,单击Add,然后单击Finish

MyEclipse中文使用教程图集

将项目添加到服务器

3. 右键单击服务器,如果服务器未运行,则选择Start

应用服务器启动并向Console视图显示关于成功部署会话Bean的消息。

MyEclipse中文使用教程图集

控制台输出

四、测试Bean

要进行测试,您需要在包中创建一个新的Java测试类。

1. 右键单击包,并选择New>Class

2. 在Name字段中键入MyBeanClient,并选择public static void main复选框,告诉MyEclipse为它生成一个main方法,然后单击Finish

MyEclipse中文使用教程图集

Java类详细信息

在向客户端添加代码并运行之前,需要将OpenEJB客户端添加到构建路径中,因为它实现了EJB远程调用规范的客户端。

Maven项目:

将以下依赖项片段添加到pom.xml中。

<dependency>
<groupid>org.apache.openejb</groupid>
<artifactid>openejb-client</artifactid>
<version>4.7.5</version>
</dependency>

Non-Maven项目:您可以在TomEE安装的lib文件夹中找到open-ejb-* JAR。跳转到项目的Java Build Path属性页,单击Add External JARs…并选择此JAR将其添加到classpath中。

现在可以向测试客户端添加代码并运行它了,由于刚刚添加的JAR,实际的代码非常简单。

4. 双击MyBeanClient.java,将代码替换为以下代码,按Ctrl+S保存。

package sampleejbproject;import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;public class MyBeanClient {public static void main(String[] args) {
try {
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
p.put(Context.PROVIDER_URL, "http://localhost:8080/tomee/ejb");
InitialContext ctx = new InitialContext(p);
IMyBean bean = (IMyBean) ctx.lookup("MyBeanRemote");
bean.doSomething();
} catch (NamingException e) {
e.printStackTrace();
}
}
}

在上面的代码中有一些关键的事情需要注意,以便理解它:

  • 代码不是将返回的bean强制转换为MyBean,而是将其强制转换为接口MyRemoteBean,因为它正在从JNDI上下文中请求远程bean。如上所述,不同本地/远程接口公开的方法可能会有所不同,因此您需要坚持使用正在请求的接口。
  • TomEE对没有指定名称绑定的EJBs使用默认的JNDI名称绑定,请看下面的截图。注意默认名称在日志中打印出来,这个默认名称因应用服务器而异,大多数人会使用@Stateless注释的mappedName值来指定跨所有应用服务器的新绑定。例如:`@Stateless(name=”MyBean”, mappedName=”ejb/MyBean”).`

MyEclipse中文使用教程图集

控制台视图中的服务器日志

有了bean之后,可以将其视为本地实例,并简单地调用它。由于bean代码的编写方式(System.out.println)不同,结果将输出到MyEclipse中的应用服务器控制台视图。要查看应用程序的结果,右键单击MyBeanClient.java,并从菜单中选择Run As>Java application

MyEclipse中文使用教程图集

运行测试客户端的结果

五、资源
  • Sample EJB3 Project for this Tutorial
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/136666.html

相关文章:

  • 磁导率;电感为什么存在饱和电流?气隙的定义,磁芯开气隙有哪些作用
  • Redis的IO多路复用
  • Flutter的自动化测试 python flutter编程
  • 从IF到SWITCH:解锁Power BI条件判断的应用场景
  • 第五阶段:项目实践与后续学习指引
  • 【Axure绘制原型】小图标使用技巧
  • Spring boot 知识整理
  • 利用耦合有限元和神经网络计算的骨重塑模拟多尺度方法
  • 【java】记录一个开启事务抛出异常的场景
  • 【sqlserver】修改nvarchar类型为varchar脚本
  • 神经光子渲染:物理级真实感图像生成——从麦克斯韦方程到深度学习
  • C# 西门子通信
  • 敦普水性低温烤漆的进击
  • NO.94十六届蓝桥杯备战|图论基础-单源最短路|常规dijkstra|堆优化dijkstra|bellman-ford|spfa(C++)
  • JavaSE学习(前端初体验)
  • 界面控件DevExpress WPF v25.1新功能预览 - 文档处理类功能升级
  • Linux 软件管理
  • 简单实现单点登录
  • rust编程学习(二):复合数据类型
  • 【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——板载蓝牙测试 #RTL8733BU
  • 计算方法在单细胞数据分析中的应用及AI拓展
  • Flutter项目之设置页
  • 基于PyTorch实现的Diffusion模型:从MNIST图像中学习生成能力
  • MyBatis 如何使用
  • Navicat导入JSON数据到MySQL表
  • 安卓环境搭建开发工具下载Gradle下载
  • git在分支上会退到某个指定的commit
  • 在边缘端进行tensorflow模型的部署(小白初探)
  • 今日算法题
  • 安装 MySQL8.0.17