0
点赞
收藏
分享

微信扫一扫

ejb学习小结4

暮晨夜雪 2022-12-05 阅读 30


1  jboss 默认在DOS下启动是default的,这个要记得,要用all启动的话,可以这样 run -c all,否则dos下每次ant后的东西都会放错位置的了

2  一个简单的编译ejb服务端的脚本,用的是sun的J2EE SDK下的lib

<?xml version="1.0"?>

<project name="ejb" basedir="." default="">
<property name="jdk.root" value="C:\Sun\SDK"/>
<path id="classpath">
<fileset dir="${jdk.root}\lib">
<include name="*.jar"/>
</fileset>
<pathelement path="."/>
</path>
<target name="compile">
<javac destdir=".\build" debug="true" deprecation="false" optimize="false" failοnerrοr="true">
<src path="."/>
<classpath refid="classpath"/>
</javac>
</target>
</project>

3 EJB组件打包
    进入build目录下,jar -cvf XXX.jar ./*.,之后把jar文件COPY到jboss的default\deploy目录下即可.

 

4  EJB客户端的一个典型ant 脚本

<?xml version="1.0"?>
<project name="ejb" basedir="." default="">
<property name="jboss.root" value="C:\jboss421"/>
<property name="jdk.root" value="C:\Sun\SDK"/>
<path id="classpath">
<fileset dir="${jdk.root}\lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${jboss.root}\server\default\lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${jboss.root}\server\default\deploy\ejb3.deployer">
<include name="*.jar"/>
</fileset>
<fileset dir="${jboss.root}\server\default\deploy\jboss-aop-jdk50.deployer">
<include name="*.jar"/>
</fileset>
<fileset dir="${jboss.root}\lib">
<include name="*.jar"/>
</fileset>
<fileset dir="..\ejb\build">
<include name="*.jar"/>
</fileset>
<pathelement path="."/>
</path>
<target name="compile">
<javac destdir="." debug="true" deprecation="false" optimize="false" failοnerrοr="true">
<src path="."/>
<classpath refid="classpath"/>
</javac>
</target>
<target name="run" depends="compile ">
<java classname="Client" fork="true">
<classpath refid="classpath"/>
</java>
</target>
</project>

                         

 

5 关于标注的问题:
  分三类:
  A 标注在接口里,比如
    @Local
public interface HelloWorldLocal extends HelloWorld{}
 

   B 在实现接口的类前加标记

@Stateless
​​@Local(HelloWorldLocal.class​​)
​​@Remote({HelloWorldRemote.clas,ICalc.class​​})
public class HelloWorldBean1

   这里指出了从本地,从远程能够访问的接口类型

 

  C  纯洁型
      单纯用部署文件,象EJB2那样 

6  无状态会话BEAN的三个状态
   不存在,放在池里,被调用状态.比较重要的事件有@PostConstruct,@PreDestroy,分别是组件创始时和被销毁时

7 有状态的会话bean
      同样,第一次调用时,是postconstruct事件,当被销毁时,则是predestroy事件了.而EJB2中的钝化事件,则这里
用prepassivate事件了,即一个EJB活动对象长时间不被使用了,当从活动状态切换到休眠状态时则激活这个事件了.

而postactive事件,则是从休眠状态再激活之的.

 

 

     


举报

相关推荐

0 条评论