EJB开发过程

EJB3.0快速入门项目开发步骤 快速入门EJB的实例和介绍,通过环境安装配置介绍,特定的EJB实例以及容易出现问题的解决,可以快速入门使用EJB。 立即下载
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

一般一个完整的基于EJB的分布式计算结构由6个角色组成
1.EJB组件提供者(Enterprise JavaBean Provider)
 提供负责定义EJB的remote and home接口,编写执行商务逻辑的EJB CLASS,提供EJB的部署文体
 
2.应用程序组合者(Application Assembler)
  比如JSP,SERVLET 
  
3.部署者(Deployer)

4.EJB服务器提供者(EJB Server Provider)

5.EJB容器提供者

6.系统管理员(System Administrator)

定义和编写EnterPrise JavaBean类:这是Enterprise JavaBean内部应用逻辑的实现
编写Enterprise JavaBean的远程remote接口
编写Enterprise JavaBean的本地home接口
说明主键类(只是对于Entity Java Bean才需要的)。在Enterprise JavaBean的配置描述器中需要指定主键的名称。
一.
Enterprise JavaBean 提供了定义远程(Remote)接口和本地(home)接口,实现了Enterprise JavaBean类本身,
Remote接口定义了客户调用EnterPrise JavaBean实现的应用逻辑函数的接口。
Bean的实现里面必须至少有一个create()方法,-ejbcreate()但是可以带有多个不同参数的create()方法
在home接口中也必须有相同的方法定义(参数的个数相同),ejbcreate()方法返回一个容器管理的持久对象
都返回一个容器管理持久性的主键值。但是在home的相应create()方法中返回的类型是remote接口

  home->javax.ejb.EJBHome
remote->javax.rmi.remote

SessionBean必须实现javax.ejb.SessionBean

二.
defined remote class
每一个Enterprise JavaBean多必须有一个remote接口,remote接口定义了应用程序规定客户可以调用的逻辑操作。
这是一些由客户调用的公共方法,通常由JavaBean来实现。

Enteprise JavaBean的客户并不是直接访问Bean,而是通过remote接口来访问。

public interface EJBObject extends ajva.rmi.Remote
{
  //允许你获得一个相关的home接口。
  public EJBHome getEJBHome() throws java.rmi.RemoteException;
  //对于实体Bean,用getPrimaryKey();方法获得Bean的主键值
  public Object getPrimaryKey() throws java.rmi.RemoteException;
  //remove()可以删除一个Enterpise JavaBean
  public void Remove() throws java.rmi.RemoteException,java.rmi.RemoveException
  //返回一个Enterprise JavaBean实例的持久句柄
  public Handle getHandle() throws java.rmi.RemoteException;
  //允许你去比较Enterprise JavaBean是否相同
  boolean isIdentical(EJBObejct p) throws java.rmi.RemoteException;
}


remote 方法必须为public的,且抛出java.rim.remoteException 

三.定义home接口
 
 Enterprise JavaBean接口掌管着Bean的生命周期。提供了Enterprise JavaBean对象 (也是对Enterprise JavaBean的实例)
 的create(),fin(), remove()方法
 home接口必须定义一个或多个create()方法。每一个这样的方法都必须命名为create,他的参数,
 不管是类型还是数量都必须与Bean类里面的ejbcreate()方法对应。
 
 如果是实体Bean的home接口还包含了find()方法
 每一个home接口都扩展了javax.ejb.EJBhome接口,如下代码展示了javax.ejb.EJBHome接口的定义。
 
 public interface EJBHome extends java.ami.Remote()
 {
  //这个是通过一个句柄来删除Enterprise JavaBean 的实例
  void remove(Handle handle) throws java.rmi.RemoteException , RemoveException;
  //第二个是通过删除主键来删除一个Enterprise JavaBean的实例
  void remove(Object primaryker) throws java.rmi.RemoteException,RemoveException;   
  //返回了Enterprise JavaBeand对象的metadata接口,这个接口允许客户获得Enterprise JavaBean的metadata信息
  EJBMetaDate getEJBMetaData() throws RemoteException;
  //提供了获得javax.ejb.EJBHome接口,home类,remote接口,还有主键的方法。
  HOmehandle getHomeHandle() throws RemoteException;
 }
 
因为home接口包括了一个或多个的create()方法的定义。成为会话Bean的工厂,对每一个create()方法,EJB都定义了如下的命名规定
1 他的返回值是会话 Bean 的 remote 接口类型
2 方法的名字只能是create()
3 会话Bean类中的每一个ejbcreate()方法都必须有一个create()与之相对应,而且参数的类型和数量也必须一致
4 必须抛出java.rmi.remoteException 和 javax.rmi.createException异常
5 create()方法的参数是用来初始化新的会话Bean对象的 

以下是一个会话Bean对象的不同create()方法
public interface AddHome extends javax.ejb.EJBHome{

 add create() throws java.rmi.RemoteException,javax.ejb.CreateException;
 add create(Profile preferredProfile)
 Throws java.rmi.RemoteException , javax.ehrows java.rmi.RemoteException , RemoveException;
 EJBMetaData getEJBMetaData() throws RemoteException
 Homehandle getHomeHandle() throws RemoteException;
}

会话Bean的home接口
在前面我们说过,一个会话Bean只有一个客户,这就是说当一个客户创建一个会话,这个会话Bean就是为这个创建的客户而
存在的。
会话Bean的home接口的create()方法,EJB规范定义了一个或多个create()方法的定义
1 他的返回值是会话 Bean 的 remote 接口类型
2 方法的名字只能是create()
3 会话Bean类中的每一个ejbcreate()方法都必须有一个create()与之相对应,而且参数的类型和数量也必须一致
4 必须抛出java.rmi.remoteException 和 javax.rmi.createException异常
5 create()方法的参数是用来初始化新的会话Bean对象的 

============================================================================================================

会话Bean的home接口并没有定义finder方法来定位对象,因为有状态的会话Bean只能给创建他的客户使用,如果不是客户
自己创建的会话Bean 没有必要也不允许这样去定位一个会话Bean

=============================================================================================================

实体Bean的home接口
 实体Bean 跟会哈Beande home接口是一样的,只不过多了一个finder()方法,
 这样客户就能够定位和使用实体Bean的对象,finder的操作是必须的,因为实体Bean是长时间存在的,可以被
 多个客户使用,对于大多数的应用程序而言,实体Bean的实例是存在的,客户只需要找到一个用来使用就可以了
 

定义主键:
 一个Entity Bean的home接口必须提供一个默认的finder方法:finderByPrimaryKey,这个方法允许客户通过主键
 来定位Entity Bean方法只有一个唯一的参数:那就是“主键”, 方法的返回值类型是实体Beanz的remote接口类型
 主键的类型扩展了Java Object类型的任何Java类型,在配置描述器中,你必须告诉容器主键的类型
 
*==============================================================================================================
 
 根据定义,findByPrimaryKey()方法总是返回一个单个的Entity对象,而其他的finder()方法可以返回Entity对象的
 集合
 
*==============================================================================================================

下面是一个findByPrimary()方法
findByPrimary(key)
    throws  java.rmi.RemoteException.FinderException;
    
home接口里面还可以定义别的finder()方法,每一个finder()方法都必须在Enterprise JavaBean类里面有一个对应的实现。
每一个finder方法都必须符合如下约定

1 返回类型是remote接口类型
2 必须以前缀是find开头,在实体Bean类里面以前缀ejbFind开头
3 必须抛出java.rmi.remoteException  and javax.ejb.FinderException
4 在home接口中的throws 子句与实体Bean类的ejbcreate()方法的throws子句也必须对立。



活在理想中,心在自由飞

 

麦克斯韦电磁场理论 1)从知识先后上说:麦克斯韦方程组为理解光的传播、反射、折射等现象提供了理论基础。不理解基础,怎么能理解上层建筑。2)从如何学懂上说,把基础学习的越牢,越深刻,后续学习上层建筑就会水到渠成一些,不会越学越多疑问。而是越学越少疑问。 阅读详情

相关推荐

VirtualBox创建虚拟机(为安装Ubuntu桌面系统)

Ubuntu的安装非常灵活。但是万变不离其宗,归纳起来,无非就是以下3种:(1)用户可以下载完整的ISO镜像文件,将其转移到各种介质上面,例如DVD或者U盘,然后以该介质引导系统进行安装。(2)用户可以下载一个非常小的网络安装器,利用该安装器引导系统进行在线安装。(3)用户可以将Ubuntu安装到一个U盘中,随身携带。为了便于读者学习,本节将介绍通过完整的ISO镜像文件安装Ubuntu。其他的安装方式将在后面介绍。

夏天又到了的专栏 2688

构建一个EJB组件的步骤

构建一个EJB组件的步骤如下: 1.编写组件接口(EJBObject远程接口,EJBLocalObject本地接口),Home接口,Enterprise Bean等。 2.编写部署描述文件。ejb-jar.xml等。 3.利用Jar工具将以上打包为Ejb-jar文件。如:jar cvfm HelloWorld.jar * 4.发布EJ...

weixin_33860737的博客 190

告别手动复制粘贴:3种高效合并Excel表格的方法对比(含代码)

本文对比了VBA、Power Query和Python三种高效合并Excel表格的方法,并提供了可直接运行的代码。针对不同数据量、更新频率和技术背景,详细分析了各方案的优缺点与适用场景,帮助读者告别低效的手动操作,实现自动化数据整合。

weixin_29057237的博客 442

EJB-02:EJB开发流程

一、开发EJB的步骤 第一大步:开发编译业务接口和Bean类 (1) 编写业务接口和Bean类 (2) 编译 第二大步:打包部署到JNDI服务器 (3) 提供部署描述文件 (4) 打包(编译后的字节码文件和部署描述文件)成ejb-jar (5) 部署ejb-jar到容器 第三大步:测试 (6) 检测部署是否成功(看容器是否发现) (7)

逆境成长 1363

FA 新增资产API Demo

DECLARE l_trans_rec fa_api_types.trans_rec_type; l_dist_trans_rec fa_api_types.trans_rec_type; l_asset_hdr_rec fa_api_types.asset_hdr_rec_type; l_asset_desc_rec fa_a

chosen1brain的专栏 2142

SpringBoot+Vue实现图片上传

SpringBoot+Vue实现图片上传

叶♥璃 2731

EJB 简单开发流程

近来遇到一项目要用到EJB,但是本人对EJB也没有很深的了解,只好自己查阅资料,赶紧补习自己的不足,还好找到了一些相关的资料。下面分享下 一个简单的EJB开发流程: 本人的开发环境为如下: 系统:windows XP myeclipse 8.5 jdk1.6 jboss 5.0上 首先打开myeclipse新建一Java工程。 在工程里面添加 ...

weixin_34061482的博客 296

如何在STM32上5分钟搞定nanopb协议传输?附完整代码示例

本文提供了在STM32微控制器上快速集成nanopb协议传输的实战指南。通过详细的步骤,从.proto文件定义、代码生成到STM32CubeIDE项目移植,帮助开发者利用nanopb这一轻量级Protocol Buffers C语言实现,在5分钟内构建高效、跨平台的嵌入式设备通信框架,并附有完整的代码示例。

jwt8token的博客 839

手动部署EJB 亲自体验EJB开发流程

JBoss 4.0自动集成了Tomcat 5.0,因而它不仅仅是专业的EJB容器,同时也成了专业的JSP/servlet容器和Web服务器。  Tomcat 5.0 被集成在 jboss的下面这个目录中:  JBOSS_HOME/server/default/deploy/jbossweb-tomcat50.sar  里面提供了一个server.xml和web.xml文件,可以对Tomcat进行一

anyhill的专栏 804

YOLOv11【第一章:零基础入门篇·第1节】YOLOv11核心架构深度解析与环境配置,一文搞定!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。 本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 5511

【图像超分】论文复现:经典超分 | SAN的Pytorch源码复现,跑通源码,适配高版本的python/pytorch/cuda,使用EDSR-PyTorch进行训练和测试

本文介绍了单幅图像超分辨率重建方法SAN(二阶注意网络)的代码实现。文章详细说明了在高版本Python/Pytorch环境下适配SAN源码的方法,并提供了修改后的完整代码和预训练模型下载链接。 主要亮点包括: 将SAN模型实现整合到EDSR-Pytorch框架中,解决了高版本环境下的兼容性问题 提供了完整的数据集准备指南(DIV2K训练集和5个测试集) 给出了详细的测试命令,涵盖x2、x3、x4不同放大倍率 公开了预训练模型和可视化结果的下载资源 提供了修改后的适配高版本环境的代码。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 1413

EJB开发过程(原创)

EJB开发过程 一般一个完整的基于EJB的分布式计算结构由6个角色组成 1.EJB组件提供者(Enterprise JavaBean Provider) 提供负责定义EJB的remote and home接口,编写执行商务逻辑的EJB CLASS,提供EJB的部署文体 2.应用程序组合者(Application Assembler)  比如JSP,SERVLET   3.部署者(Deployer)

王道JAVA 2508

196、NPU的编译器开发:教程与示例代码编写

NPU编译器开发实战指南 摘要:本文分享了NPU编译器开发中的核心挑战与实战经验,通过具体代码示例展示了关键实现技术: 指令生成:必须考虑硬件特性(如地址对齐)和芯片配置抽象化 图优化:重点处理常见冗余结构(Reshape合并、BN融合),并注意数值稳定性 算子拆分:采用分块计算策略适配有限SRAM,需特别注意边界条件处理 内存分配:基于张量使用频率的贪心算法优化SRAM使用效率 文中包含多个真实踩坑案例: DMA地址未对齐导致硬件错误 BN融合时的除零风险 tile边界处理不当引起的精度下降 这些经验为开

m0_50546716的博客 89

EJB会话Bean的开发过程

无状态bean(stateless)使用实例池技术管理bean,在实例池里的bean会被多个用户共用有状态bean(stateful)使用激活(activation)管理bean,为每个用户创建一个bean,一个bean只为一个用户服务       当一段时间内没用没使用的时候ejb会把该bean的信息序列化到磁盘上,释放内存空间;       当在缓存周期内使用了该bean的时候,ebj自动到磁盘上调用信息还原到内存上(激活)建立ejb的一般步骤:(远程接口的建立,本地建立相似)       1.编写接口

708

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

会话EJB完整开发过程(以weblogic为服务器)

开发步骤(操作界面的图片不能贴上,见谅!) 开发运行环境:j2eesdk1.4+weblogic8.1 说明:本试验已开发一个会话EJB为例,系统采用的应用服务器为weblogic8.1 1、编写bean代码(代码的目录在c:\ejbhello下) ① 定义Home Interface EJB容器通过EJB的Home Interface来创建EJB实例,和Remote Interfac...

leopard_lb的专栏 279

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

weblogic中会话EJB完整开发过程

开发运行环境:j2eesdk1.4+weblogic8.1 说明:本试验已开发一个会话EJB为例,系统采用的应用服务器为weblogic8.11、编写bean代码(代码的目录在c:ejbhello下)① 定义Home InterfaceEJB容器通过EJB的Home Interface来创建EJB实例,和Remote Interface一样,执行Home Interface的类由EJB生成工具生成

快乐宝贝的专栏 779

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【总结】EJB开发过程中遇到的几个问题

1、启动JBoss时报错,ERROR [AbstractKernelController] Error installing to Instantiated: name=AttachmentStore state=Described… 进入目录 server/default/conf/bootstrap,打开文件 profile.xml,找到<!-- The attachment store --

buptwds的专栏 1281

ejb2.0详细开发过程

Ejb2.0 开发流程 一、开发环境准备 ①开发工具:myeclipse2013(里面集成了EJB2.0的开发工具) ②jdk:jdk142_08 二、Ejb服务器端的开发 1.1 建立工程 ①EJB Project单击   ②输入工程名称: ejbserver 选择Ejb版本2.0,选择jdk版本1.4,完成后点击下一步   ③选中ejbModule后,点击Remove

1834

EJB开发过程中javax.naming.NameNotFoundException:

EJB开发过程中javax.naming.NameNotFoundException: 其原因可能是XXServiceBean在JBoss服务器未发布,查看是否发布指定的ServiceBean,在配置启动好的JBOSS服务后,访问http://serverip:port/jmx-console -> JNDIView -> List of MBean operations: ,然后点击'Invok...

Function413的专栏 580

EJB2.x和EJB3.0开发步骤的不同之处

举两个随处可见的例子说说 EJB2.x和EJB3.0开发步骤的不同之处,这两个例子只是为了清楚的说明它们开发步骤的不同之处,不保证能够运行,例子的显示输出结果在eclipse的控制台中显示。         先说说EJB3.0吧:          EJB3.0,不需要创建Home和对象接口,不需要组件接口(javax.ejb.SessionBean和javax.ejb.MessageD...

squall140 183

Ejb—开发模型与实例

1.    开发模型   这里用最简洁的一个Ejb项目模型来简介Ejb的开发过程与调用原理。粗略的开发过程如下:   Ø  首先,新建Ejb项目,并部署到JBoss服务器(作为服务端)。   Ø  然后,新建普通Java项目作为客户端。(客户端的概念是相对的,它可以是任何类型的项目,包括可以是另一个Ejb项目)   Ø  最后,将Ejb项目中的接口打包为jar包,并添加到客户端,客户端即可

大鹏 4198

Java EJB技术研究

王少锋 王克宏 [摘 要] Java的EJB技术代表的是一种前沿技术,它使得复杂的多层结构应用系统的开发变得容易,本文分析了EJB构件模型的体系结构、技术特点及应用前景,以及和其它相关技术的比较。 [关键词] Java,EJB,可重用构件 &nbsp;&nbsp;&nbsp;&nbsp;一、EJB{EntERPrise JavaBeans}技术  98年3月在San Franci...

xihongshi926414的专栏 325

EJB开发体会

临时得到学院的通知,让我在5秒钟之内想出一门研究生的选修课程,大脑都不带停留的,脱口而出“软件新技术及应用”。等到开始上课,才发现备课之艰难,备了今天愁明天,不过也好,乘机把涉及J2EE的技术可以完整的来梳理一遍,其中EJB的开发也是我的课程计划中的一个主要内容。 一个良好的讲课效果的前提之一是自己对知识点的熟悉,因此,我必须对EJB的开发有一个基本的了解。幸好,有一些参考书和网上的资源帮

billwu2009的专栏 354

Ejb in action(一)——开篇介绍

从今天开始,我们来学习JavaEE中一个非常重要的规范:Ejb。既然您已经找到了这篇文章,就说明您就已经对Ejb有个大体上的概念了,之前没看过也没关系,正好通过咱们的共同学习,一起来了解它学习它。 首先,我们来看一些Ejb的总括图:              我们在展开学习之前,我们要弄明白:什么是Ejb? Ejb也就是Enterprise JavaBeans,它是Java

实鼠不疫,牛转乾坤 2557

会话EJB系列(一)EJB概述

EJB(Enterprise Java Bean)是Java EE(以前叫J2EE)的核心规范,不仅仅是一种优秀的组件技术,而且还是Java EE 其它规范(如RMI,JNDI,JMS等)的具体应用。   一.EJB的概念和意义 (1)EJB规范的由来     随着软件规模的快速增大和技术复杂度(分布式软件的开发技术,如CORBA、RMI等)的增加,导致软件开发变得越来越复

末日的回想 429
上一篇: JSP中解决乱码的方法。用PetStore中的EncodingFilter
下一篇: 做了一个生成JFreeChart的自定义标签SONIC Taglib。不过只能生成姘图和柱图
GOALSTAR
博客等级 码龄24年 108粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值