EJB初学日记(1)

作者回顾了一年的JAVA学习历程,并开始学习EJB3.0。通过实践,成功部署了第一个EJB应用并理解了会话Bean的概念。
2007年10月10日 07:40:00

今天终于还是下定决心看看EJB,看着SPRING看了两天,觉得一点头绪都没有,我不是一个讲究速成的人,但是总是感觉和它们的理念不太一样,唉,真可怜,都怪自己,初学JAVA的时候就把J2SE看得太重了.

在学习了J2SE一整年之后,发现JAVA的应用还远远没有掌握,我学习一年的结果就是刚刚对JAVA有所了解而已,回首这一年的路,挺艰难的,但 是现在以一个过来人的姿态去看的时候,我又学得很庆幸.因为我没有放弃,在我学习条件最艰苦的时候,在我最无助的时候我都没有放弃.曾经记得为了想一个小 小的程序,为了实现一个小小的功能,在那里苦思冥想,想得都想吐了,还记得半夜从梦中醒来的时候,脑子里满是程序代码,甚至做梦的时候也在编程序,想算 法.就这样,一年,我磕磕碰碰的走过来了.

一年后的今天,我将重新站在一个全新的起点上:J2EE,面全企业的应用,希望以后心态能像一年前一样.踏踏实实地走过.一步一个脚印.记得一年 前,我刚学JAVA时,喜欢写学习日记,喜欢把自己不懂的,以及当天收获的,还有对一些程序的理解和看法记下来,并且过一段时间就去看以前写的学习日记, 那时候经常会发现自己有所进步.那种感觉,真的很好.

今天算我第一天,我下面把我今天所看到的,写下来,以及自己不太了解的地方写下来,做为一个初学者最真实的心理反应和想法,也为自己J2EE之路留下些纪念.

今天下载了黎活明的EJB3.0实例教程,学了如何装JBoss4.0,第一次我下载的是免安装版,直接解压缩就可以用了,但是一直都配置不好那个 EJB的应用,后来,删掉重新按照书上的地址下载了一个安装版的,并按照介始的顺序和方法安装了一遍,一布署,呵,真的可以了.看到网页打开的一霎那,真 的感觉很有成就感,虽然应用都是别人写的.

由于此书用的IDE是Eclipse,可是我用的IDE是NetBeans,所以有些地方就实践不了了,但是能实践的,我都尽量会去实践一下,哪怕是抄代码,我也会亲手抄一遍.我觉得这对我们初学者来说有很大的帮助.

今天学的是会话BEAN,有状态会话BEAN和无状态会话BEAN
声明接口的代码

/*
* HelloWorld.java
*
* Created on 2006年12月7日, 下午9:26
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package lbf.demo;

/**
*
*
@author lbf
*/
public interface HelloWorld {

/** Creates a new instance of HelloWorld */
public String sayHello(String who);

}

实现接口的代码

/*
* HelloWorldBean.java
*
* Created on 2006年12月7日, 下午9:27
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package lbf.demo.impl;

/**
*
*
@author lbf
*/
import lbf.demo.*;
import javax.ejb.*;
@Stateless
@Remote({HelloWorld.
class}) //表示是远程调用
public class HelloWorldBean implements HelloWorld {

/** Creates a new instance of HelloWorldBean */
public HelloWorldBean() {
}
public String sayHello(String who){
return who+"说:这是我的第一个EJB东东!!";
}
}

打包成JAR文件以后,放到JBOSS_HOME/server/all/deploy下面就可以了,JBOSS支持热布置,这一点和TOMCAT一样

只是两者的目录结构有一点不一样而已,并且它也支持WAR布署.同样也是复制到JBOSS_HOME/server/all/deploy下面

用ctx.lookup("HelloWorldBean/remote"); 来查找绑定的BEAN,一般命名规则是

在这里我要重点说明一下EJB JNDI名称默认的命名规则,命名规则如下:
1< 如果EJB应用打包成后缀为*.ear 的发布文件,默认的 JNDI 名称是
访问本地接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/local
访问远程接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/remote
例:如果HelloWorld应用打包成HelloWorld.ear 文件,访问她远程接口的 JNDI 名是:
HelloWorld/HelloWorldBean/remote

2< 如果EJB应用打包成后缀为*.jar 的发布文件, 默认的 JNDI 名称是
访问本地接口:EJB-CLASS-NAME/local
访问远程接口:EJB-CLASS-NAME/remote
例: HelloWorld应用打包成HelloWorld.jar 文件,访问她远程接口的 JNDI名称是:HelloWorldBean/remote
另外有一点要注意:EJB-CLASS-NAME 是不带包名的,如 com.foshanshop.ejb3.impl.HelloWorldBean只需取
HelloWorldBean。
目前网上很多教材获取JNDI名的方式都过时了,如:
HelloWorld helloworld = (HelloWorld) ctx.lookup(HelloWorld.class.getName());

stateless每次查找都会返回同一个BEAN,而stateful每次查找都会产生一个新的BEAN,用来保存特定的客户会话

那按照上面的命名规则,岂不是很容易生成相同的名字的BEAN?因为它的名字那么短,如何避免这种情况呢.EJB应该有解决的办法吧.看以后吧

希望以后的日记中能搞清楚这个问题



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1817705


内容概要:本文详细介绍了利用二维时域有限差分法(2D FDTD)对光子晶体90度弯曲波导进行数值仿真的Matlab代码实现。该仿真方法旨在精确分析光子晶体波导在弯曲结构下的光传输特性,揭示其导光机制与缺陷模式的调控原理。资源包含完整的Matlab程序代码,支持对空间网格划分、介电常数分布、边界条件(如PML吸收边界)及光源参数等关键仿真要素的灵活设置与优化,便于用户复现结果并开展深入研究。通过仿真可直观获得光场在波导中的传播动态、透射谱特性以及能量损耗情况,为高性能光子器件的设计与优化提供理论依据和技术支持。; 适合人群:具备电磁场理论、光学基础和Matlab编程能力,从事光子学、集成光学或纳米光子器件研究的研究生、科研人员及工程技术开发者。; 使用场景及目标:①学习和掌握FDTD方法在周期性介质(光子晶体)器件仿真中的具体应用流程;②研究90度弯波导的光传输性能,分析弯曲损耗来源并探索低损耗结构优化方案;③作为光子集成电路中关键无源器件的设计与教学参考案例,服务于学术研究与工程实践。; 阅读建议:建议结合光子晶体能带理论与FDTD算法基本原理进行系统学习,运行代码时应逐步调整结构参数与仿真设置,观察光场演化和输出结果的变化,以深化对物理现象的理解,并可在此基础上拓展至其他复杂光子结构(如分束器、谐振腔)的仿真分析。
内容概要:本文系统研究了基于共识的捆绑算法(Consensus-Based Bundle Algorithm, CBBA)在多智能体多任务分配中的应用,重点聚焦于远程太空船交会与维修任务中的相对运动规划(RPO)问题。通过构建多航天器协同任务场景,采用Matlab代码实现了CBBA算法的全过程仿真,展示了其在分布式决策框架下高效完成任务分配的能力。研究深入探讨了任务收益建模、路径规划约束、通信延迟与动态重规划等关键环节,验证了CBBA在确保任务分配一致性、避免资源冲突、适应动态环境变化以及优化整体任务效能方面的优越性能,为复杂空间任务中的自主协同提供了可靠的技术路径。; 适合人群:具备控制理论、航天动力学、分布式优化或多智能体系统等相关背景,从事航天任务规划、智能优化算法研究或相关工程实践的研究生、科研人员及航空航天领域工程师。; 使用场景及目标:①为多航天器在轨服务(如交会对接、空间维修)提供高效、鲁棒的分布式任务分配解决方案;②深入理解CBBA算法的核心机制及其在高动态、强约束空间任务中的适应性与优化潜力;③推动分布式人工智能算法在航天工程实际系统中的集成与应用验证。; 阅读建议:建议读者结合提供的Matlab代码,重点剖析任务建模逻辑、收益函数设计、共识迭代过程及收敛性分析模块,通过修改场景参数进行仿真实验,以深化对多智能体协同决策机制与算法性能边界条件的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值