`
pengchua
  • 浏览: 152642 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

采用eclipse+jboss开发ejb3.0学习笔记

阅读更多

<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 414.75pt; HEIGHT: 268.5pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:\DOCUME~1\pengch\LOCALS~1\Temp\msohtml1\01\clip_image001.emz"></v:imagedata></v:shape>

<o:p> </o:p>

1     Properties properties = new Properties();

       properties.put("java.naming.factory.initial",

                       "org.jnp.interfaces.NamingContextFactory");

       properties.put("java.naming.factory.url.pkgs",

                       "org.jboss.naming:org.jnp.interfaces");

       properties.put("java.naming.provider.url", "jnp://localhost:1099");

       properties.put("jnp.disableDiscovery", "true");

<o:p> </o:p>

         

      InitialContext ctx = new InitialContext(properties);

注意:初始化InitialContext时必须加上其上一个属性。

<o:p> </o:p>

2.

实现类的命名规则是:接口+Bean ,如: HelloWorldBean<o:p></o:p>

<o:p> </o:p>

3.JNDI的组成规则是“上层名称/下层名称”,每层之间以”/”分隔,<o:p></o:p>

http://localhost:8080/jmx-console点击“service=JNDIView 然后点java.lang.String list()  下的“invoke”按钮就会出现<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

<v:shape id="_x0000_i1026" style="WIDTH: 6in; HEIGHT: 63pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:\DOCUME~1\pengch\LOCALS~1\Temp\msohtml1\01\clip_image003.emz"></v:imagedata></v:shape>

这就是所谓的上下层名称。

<o:p> </o:p>

<o:p> </o:p>

其他一些命名规则:

<v:shape id="_x0000_i1027" style="WIDTH: 414.75pt; HEIGHT: 144.75pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:\DOCUME~1\pengch\LOCALS~1\Temp\msohtml1\01\clip_image005.emz"></v:imagedata></v:shape><v:shape id="_x0000_i1028" style="WIDTH: 415.5pt; HEIGHT: 49.5pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:\DOCUME~1\pengch\LOCALS~1\Temp\msohtml1\01\clip_image007.emz"></v:imagedata></v:shape>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

4

 Stateless Session Bean不负责记录使用者状态,Stateless Session Bean 一旦实例化就被加进会话池中,各个用户都可以用。即使用户已经消亡,Stateless Session Bean的生命期也不一定结束,它可能依然存在于会话池中,供其他用户调用。如果它有自己的的属性(变量),那么这些变量就会受以所有调用它遥用户的影响。

<o:p> </o:p>

 Stateful  Session Bean 是一个可以维持自身状态的会话Bean。每个用户都有自己的的一个实例,在用户的生存期内,Stateful Session Bean保持了用户的信息,也就是“有状态”;一旦用户灭亡(调用结束或实例结束),即每个用户最初都会得到一个初始化的Stateful Session Bean.

大家注意stateful session bean 必须实现Serializable 接口,这样EJB 容器才能在她们不再使用时序列化存储她们的状态信息.<o:p></o:p>

<o:p> </o:p>

5.上面介绍了JNDI的默认命名规则,有时要自定义JNDI,可以使用@LocalBinding@RemoteBinding注释<o:p></o:p>

如:@RemoteBinding (jndiBinding="foshanshop/RemoteOperation")<o:p></o:p>

<o:p> </o:p>

Operation operation = (Operation) ctx.lookup("foshanshop/RemoteOperation");<o:p></o:p>

<o:p> </o:p>

6.<o:p></o:p>

@Interceptors 注释指定一个或多个在外部类中定义的拦截器,如果写在类上表示对该类所有方法实旄拦截。<o:p></o:p>

<o:p> </o:p>

7<o:p></o:p>

import com.foshanshop.ejb3.HelloWorld;

import com.foshanshop.ejb3.Injection;

<o:p> </o:p>

import javax.ejb.EJB;

import javax.ejb.Remote;

import javax.ejb.Stateless;

<o:p> </o:p>

@Stateless

@Remote ({Injection.class})

public class InjectionBean implements Injection {

    @EJB (beanName="HelloWorldBean")

    HelloWorld helloworld;

  

    public String SayHello() { 

        return helloworld.SayHello("注入者");

    }

}

<o:p> </o:p>

@EJB注释的beanName属性指定EJB的类名(不带包名),他的另一个属性mappedName指定Bean实例的JNDI<o:p></o:p>

<o:p> </o:p>

7<o:p></o:p>

消息驱动Bean(MDB)是设计用来专门处理基于消息请求的组件。一个MDB类必须实现MessageListener 接口。<o:p></o:p>

当一个业务执行的时间很长,而执行结果无需实时向用户反馈时,很适合使用消息驱动Bean

<o:p> </o:p>

@MessageDriven(activationConfig =

{

  @ActivationConfigProperty(propertyName="destinationType",

    propertyValue="javax.jms.Queue"),

  @ActivationConfigProperty(propertyName="destination",

    propertyValue="queue/foshanshop")

})

<o:p> </o:p>

8.对于Entity Bean

首先,要对数据源进行配置,各数据库的数据配置模板在[Jboss安装目录]\docs\examples\jca 目录中找到,默认名称为:数据库名+ -ds.xml 。数据库的驱动类Jar包放置在[Jboss 安装目录]\server\all\lib 目录下,放置后需要启动Jboss服务器。数据源文件配置好后需要放置在[jboss安装目录]/server/config-name/deploy目录下。如:<o:p></o:p>

Mysql-ds.xml<o:p></o:p>

<datasources>

  <local-tx-datasource>

    <jndi-name>DefaultMySqlDS</jndi-name>

//    DefaultMySqlDS就是设置的数据源的JNDI名。 <connection-url>jdbc:mysql://localhost:3306/foshanshop?useUnicode=true&amp;characterEncoding=GBK</connection-url>

    <driver-class>com.mysql.jdbc.Driver</driver-class>

    <user-name>root</user-name>

    <password>root</password>

    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>

    <!-- should only be used on drivers after <st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">3.22.1</st1:chsdate> with "ping" support

    <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>

    -->

    <!-- sql to call when connection is created

    <new-connection-sql>some arbitrary sql</new-connection-sql>

      -->

    <!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers

    <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>

      -->

<o:p> </o:p>

    <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->

    <metadata>

       <type-mapping>mySQL</type-mapping>

    </metadata>

  </local-tx-datasource>

</datasources>

然后,配置persistence.xml文件,把实体类和persistence.xml文件打成Jarpersistence.xml 放在jar 文件的META-INF目录。如<o:p></o:p>

<persistence><o:p></o:p>

  <persistence-unit name="foshanshop"><o:p></o:p>

<jta-data-source>java:/DefaultMySqlDS</jta-data-source><o:p></o:p>

// DefaultMySqlDS就是数据库配置文件中定义的JNDI名。<o:p></o:p>

    <properties><o:p></o:p>

      <property name="hibernate.hbm2ddl.auto" value="create-drop"/><o:p></o:p>

    </properties><o:p></o:p>

  </persistence-unit><o:p></o:p>

</persistence><o:p></o:p>

 

分享到:
评论

相关推荐

    使用Eclipse+Jboss+MySql开发EJB

    总的来说,"使用Eclipse+Jboss+MySql开发EJB"是一个综合性的任务,涉及了开发环境的搭建、企业级组件的设计与实现、数据库的连接和操作以及应用的部署与测试。掌握这一流程对于Java EE开发者来说是至关重要的,因为...

    Eclipse整合JBoss开发EJB3.0

    通过上述步骤,我们不仅了解了 EJB 3.0 的基本概念及其与早期版本的区别,还学习了如何在 Eclipse 中整合 JBoss 来开发和部署一个简单的 EJB 3.0 应用。这种集成开发方式大大简化了开发过程,提高了开发效率,同时也...

    Jboss 7 + EJB 3.0 + Eclipse环境配置

    Jboss 7 + EJB 3.0 + Eclipse环境配置

    yeclipse7.0+JBoss5.0测试EJB3.0环境搭建过程详解

    ### yeclipse7.0+JBoss5.0测试EJB3.0环境搭建过程详解 在深入探讨如何在yeclipse7.0与JBoss5.0环境下构建和测试EJB3.0应用之前,让我们先了解一些背景知识。EJB(Enterprise JavaBeans)是Java平台的一部分,用于...

    使用eclipse通过jboss开发简单的ejb应用(jboss7.x & ejb3.x)

    在本文中,我们将深入探讨如何使用Eclipse IDE与JBoss应用程序服务器(版本7.x)来开发和部署一个基于EJB 3.x的简单企业级Java应用程序。EJB(Enterprise JavaBeans)是Java平台上的核心组件,它提供了一种标准的...

    Myeclipse+JBoss开发的EJB3.0 大型电子商务网站网上书店

    《Myeclipse+JBoss开发的EJB3.0 大型电子商务网站网上书店》 在信息技术领域,Java EE(企业版Java)是用于构建分布式、多层的企业级应用程序的标准框架。EJB(Enterprise JavaBeans)是Java EE的核心组件之一,它...

    Myeclipse+JBoss开发的EJB3.0 多对多程序

    在本项目中,"Myeclipse+JBoss开发的EJB3.0 多对多程序" 是一个基于Java EE平台的课程实验,利用EJB3.0(Enterprise JavaBeans 3.0)规范和Myeclipse集成开发环境,以及JBoss应用服务器,实现了数据模型中的多对多...

    Myeclipse+JBoss开发的EJB3.0 一对多程序

    通过分析这些文件,可以深入理解EJB3.0中的一对多关系如何在实际开发中应用,以及MyEclipse和JBoss在开发和部署过程中的作用。 总结来说,EJB3.0的出现极大地简化了企业级Java应用的开发,特别是在数据持久化和...

    EJB3.0+JBOSS+MyEclipse初体验(完整代码和过程)

    在"**EJB3.0+JBOSS+MyEclipse初体验(完整代码和过程).txt**"文件中,你将找到一个完整的示例,涵盖了上述所有步骤,包括具体的代码片段和执行过程,这对于初学者来说是一个很好的起点,可以快速理解并实践EJB 3.0在...

    手把手系列-Eclipse+JBossIDE+JBoss开发环境配置

    本教程主要关注的是如何使用Eclipse集成开发环境(IDE)配合JBossIDE插件以及JBoss应用服务器来搭建一个高效、稳定的Java EE开发环境。接下来,我们将深入探讨这个主题,详细讲解每一个步骤。 一、Eclipse简介 ...

    Eclipse开发EJB_3.0

    Eclipse 开发 EJB 3.0 教程 Eclipse 开发 EJB 3.0 是一个基于 Eclipse 平台的企业级 JavaBean(EJB)开发指南。本教程将指导读者如何使用 Eclipse 创建一个 EJB 3.0 项目,从创建项目到部署到Application Server 的...

    Myeclipse7.0+JBoss5.0测试EJB3.0环境搭建过程源代码

    本教程将详细讲解如何利用MyEclipse7.0集成开发环境和JBoss5.0应用程序服务器来搭建EJB3.0的测试环境,以及相关的源代码分析。 首先,EJB3.0是EJB规范的一个重要版本,引入了许多改进,使得开发更加简单和灵活。EJB...

    ejb3.0+Weblogic+Jboss安装配置及入门例子

    提供的文档"ejb3.0+Weblogic+Jboss安装配置及入门例子.doc"和"基于weblogic的EJB学习笔记.htm"应该包含详细的安装指南、配置步骤以及基础的EJB编程示例。"基于weblogic的EJB学习笔记-JSP编程-华夏名网资讯中心 虚拟...

    eclipse + JBoss 5 + EJB3开发指南中的代码

    在本文中,我们将深入探讨如何使用Eclipse集成开发环境(IDE)与JBoss Application Server 5相结合,利用Enterprise JavaBeans(EJB)3.0规范进行应用程序开发。EJB3是Java EE(企业版)平台的一个重要组成部分,它...

    jboss ejb3.0开发介绍

    ### jBoss EJB 3.0 开发指南 #### 一、引言 随着 Java 技术的发展,企业级应用的复杂度不断提高,EJB(Enterprise JavaBeans)作为 Java EE 标准的一部分,在构建分布式系统方面扮演着重要的角色。EJB 3.0 相较于...

    MyEclipse+JBoss开发EJB.doc

    总的来说,MyEclipse结合JBoss提供了一个高效、便捷的EJB开发环境,使开发者能够轻松地利用EJB技术来构建企业级应用。无论是新手还是经验丰富的开发者,都可以从中受益,实现更高质量的Java EE项目开发。

Global site tag (gtag.js) - Google Analytics