前言: 一直觉得EJB是一个很恶心的东西,不过仅限于耳闻,今天接触之后发现,EJB果然是一个很恶心的东西.
1、准备:为了完成主题中所提到的任务我们需要做如下准备:
IntelliJ IDEA 11.1.1
Maven 3.0.4
JDK 1.6.0
JBOSS 5.1.0 GA
关于安装以及环境配置请Google
2、新建项目和一键式部署
打开IntelliJ中创建一个新的Project名字命名为(maven-ejb-spike),并在Project Structure,Modules中在maven-ejb-spike下增加一个 EJB 的module。
在Deployment Descriptors中增加ejb-jar.xml, 在项目的根路径下将增加一个META-INF其中包括一个ejb-jar.xml。
在src/main下新建一个resources目录,将整个META-INF文件夹移动到resources下
打开pom.xml文件,并在其中增加以下配置:
<groupId>maven-ejb-spike</groupId>
<artifactId>maven-ejb-spike</artifactId>
<version>1.0</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.3</version>
<configuration>
<ejbVersion>2.1</ejbVersion>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jboss-maven-plugin</artifactId>
<version>1.5.0</version>
<configuration>
<serverName>all</serverName>
<fileName>target/maven-ejb-spike-1.0.jar</fileName>
</configuration>
</plugin>
</plugins>
</build>
然后到项目路径下,执行:mvn clean install jboss:hard-undeploy jboss:hard-deploy jboss:start
如果看到 Starting JBoss和BUILD SUCCESS的字样,就说明成功了。我们的EJB项目现在会被maven自动打包成jar包并发布到JBoss的deploy目录下。 我们可以接着进行下面的工作。
3、开始开发第一个Session
右键点击当前项目(也就是maven-ejb-spike),选择 ‘New Stateless Session Bean’,并填入必备的信息。最后点击确认,将会生成三个EJB session相关的类,remote interface 从EJB Object继承,session bean和EJB home,同时IntelliJ会自动修改ejb-jar.xml的内容。
此时我们的EJB不做任何事情,但是是一个完整可以部署的EJB session了。
执行 mvn clean install jboss:hard-undeploy jboss:hard-deploy jboss:start 看是否依然能够部署成功。
确认成功信息之后在remote interface中增加一个方法例如helloEJB, 然后在session bean中实现。
4、测试在JBoss上的EJB Session
将JBoss下client目录中所有jar加入到当前项目中。
然后在测试用例中加入如下代码:
Hashtable environment = new Hashtable();
environment.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
environment.put(Context.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces");
environment.put(Context.PROVIDER_URL, "jnp://localhost:1099"); //remote machine IP
InitialContext context = new InitialContext(environment);
GasCostCalculator calculator = ((GasCostCalculatorHome)context.lookup("GasCostCalculatorEJB")).create();
assertThat(calculator.calculate(0), equalTo(0));
System.out.println("-->> lookup object successfully");
运行测试用例之前确保你的JBoss在执行中。
理论上。。。。测试用例应该通过。
分享到:
相关推荐
【ejb-jboss-web实例的workspace】是一个专用于开发和部署EJB(Enterprise JavaBeans)与Web应用程序的工作环境,基于JBoss应用服务器。这个工作空间集合了开发所需的各种组件、配置文件以及源代码,便于开发者进行...
【标题】"maven-jboss-plugin部署EJB"涉及到的是使用Maven插件来管理和部署Java企业版(Java EE)中的EJB(Enterprise JavaBeans)组件到JBoss应用服务器的过程。这一技术对于开发者来说,是将Java后端服务集成到...
理解EJB 3.0和JBoss的配置运行过程对Java EE开发者至关重要,因为这涉及到企业级应用的开发、部署和管理。掌握这一技能可以帮助开发者更好地利用Java EE平台提供的强大功能,构建高效、可扩展的后端系统。
2. EJB项目准备:创建一个包含EJB组件的Maven或Gradle项目,遵循Java EE规范,编写EJB接口、实现类以及相应的部署描述符(ejb-jar.xml)。 四、EJB编译与打包 1. 编译源代码:使用Maven或Gradle将EJB源代码编译成....
标题中的“j2ee chm api ejb jboss maven”揭示了几个关键的IT概念,这些...学习和实践J2EE API、EJB、JBoss应用服务器的使用,以及利用Maven进行项目管理,将使开发者具备构建复杂、可扩展且高效的企业级应用的能力。
2. **部署文件**:除了ejb-jar.xml,还需要一个全局的weblogic-ejb-jar.xml(针对WebLogic服务器)或jboss-ejb3.xml(针对JBoss服务器)来指定服务器特定的配置。 3. **部署过程**:将EJB的JAR文件(包含bean类、...
在【描述】中提到的博客文章可能涵盖了如何在JBoss环境下配置和部署EJB模块,以及如何创建和使用HelloWorld示例。通常,这样的教程会包括以下步骤: 1. **环境设置**:首先,需要安装并配置JBoss服务器,包括下载、...
8. **EJB配置**:企业JavaBean(EJB)的配置主要涉及接口、实现类、部署描述符(`ejb-jar.xml`)以及在`standalone.xml`中的`subsystem`配置。EJB提供了分布式计算的能力,支持状态管理和事务控制。 9. **JMS消息队列**...
1.1 Apache Tomcat各版本 1.2 Apache Tomcat Versions ...1.20 Jboss下的第一个EJB程序 1.21 JNDI 1.22 JNDI配置原理详解 1.23 JSF+Seam框架学习心得 1.24 java jdbc驱动的四种类型 1.25 resource-ref元素
5. **JBoss5部署**:在部署到JBoss5之前,你需要确保已经正确安装了JBoss服务器,并且配置了Maven的JBoss插件。然后,可以通过Maven的`jboss-as:deploy`目标将构建后的EJB3模块部署到服务器上。部署完成后,客户端...
- 创建部署描述符:虽然EJB3倾向于使用注解,但有时仍需在`ejb-jar.xml`或`META-INF/application.xml`中进行额外配置。 - 部署到JBOSS:将打包后的WAR或EAR文件复制到JBOSS的`standalone/deployments`或`domain/...
本文将围绕“Jboss下开发ejb应用之一会话bean的应用”这一主题,深入探讨如何在Jboss应用服务器上开发和部署会话Bean,以及涉及到的相关工具和源码。 会话Bean是EJB的一种类型,它代表了业务逻辑组件,为客户端提供...
JBoss Encore是一个基于Java的快速开发框架,设计用于简化企业级应用的构建过程,与Spring Roo类似。Encore提供了一套工具和库,使得开发者能够更高效地创建和管理Java EE应用程序,尤其在Web和企业服务领域。这个...
总结起来,这个示例涵盖了 EJB 在 JBoss 7.1 下的基础使用,包括 EJB 的创建、部署、远程调用以及 Web 客户端的交互。通过学习这个示例,你可以了解如何在实际项目中利用 JBoss 提供的企业级功能来构建可扩展且可靠...
本篇文章将深入探讨在JBoss应用服务器上开发EJB应用,特别是实体Bean的使用。 标题:“Jboss下开发ejb应用之一实体bean的应用” 首先,理解EJB实体Bean的含义至关重要。实体Bean代表持久化的业务对象,它们与...
总之,配置Struts2和EJB3在JBoss 6上的整合需要对这两个框架以及应用服务器有深入的理解,同时也需要熟悉Java的依赖管理和容器配置。通过适当的技术调整和源码修改,可以成功地在单一服务器上部署和运行这种整合的...
本话题主要探讨在将EJB工程部署到JBoss应用服务器,以及Web工程部署到Tomcat应用服务器时,可能需要用到的包及其重要性。 首先,EJB部署到JBoss时,你需要确保拥有以下关键包: 1. **EJB规范相关的JAR**:如`ejb3-...
### JBoss EJB3.0 教程知识点详解 #### 一、教程适用人群与目的 - **适用人群**:本书适用于对Java EE技术有一定了解的开发者,特别是那些希望深入学习并掌握JBoss环境下EJB3.0技术的读者。 - **教程目的**:旨在...