浅谈如何将EJB部署在Jboss下

开发
本文将介绍如何将EJB部署在Jboss下,企业级JavaBean(Enterprise JavaBean, EJB)是一个用来构筑企业级应用的服务器端可被管理组件。

我觉得做一个客户端调用一个实体bean算是一个完整列子吧,实体bean这里不就不详细说了。客户端调用需要使用会话bean这个也写好吧。然后打包这个EJB,这里EJB部署到jboss下就可以使用了

另外我使用oracle数据库,所以在jboss下的deploy下得增加oracle数据源配置文件,如下:

oracledb-ds.xml   
<datasources>   
   <local-tx-datasource>   
   <jndi-name>oracleDS</jndi-name>   
   <connection-url>   
       jdbc:oracle:thin:@localhost:1521:cmmboss   
   </connection-url>   
      <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>   
      <user-name>system</user-name>   
      <password>cmmboss</password>   
      <metadata>   
         <type-mapping>oracle10g</type-mapping>   
      </metadata>   
</local-tx-datasource>   
</datasources> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

注意这个jndi名字和你调用的时候一致,这个实在EJB这个里面的persistence.xml里面一致部署的话。EJB打包的jar可以单独部署于deploy下面。

也可以打包成ear里面
ear的结构:mytestEJBweb.ear

META-INF   
    --application.xml   
testEJBweb.war   
testEJB.jar  
  • 1.
  • 2.
  • 3.
  • 4.

客户端调用,可以是普通类,也可以是servlet 。我这里以一个servlet距离
在servlet初始化的时候处理

public void init() throws ServletException {   
Hashtable properties = new Hashtable();   
properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");   
properties.put(Context.PROVIDER_URL, "jnp://localhost:1100"); 
  • 1.
  • 2.
  • 3.
  • 4.

这里特别注意的是使用jnp方式访问,其他容器都有自己的访问方式,比如weblogic使用T3,ip如果是夸ip访问注意ip绑定,还有端口号是jnp的端口1100,而不是http端口8080等

properties.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");   
try {   
InitialContext ctx = new InitialContext(properties);   
ComputerBeanRemote computerBean = (ComputerBeanRemote)ctx.lookup("mytestEJBweb/ComputerBean/remote");  
  • 1.
  • 2.
  • 3.
  • 4.

这里首先调用的是ear这个资源的jndi路径(我第一次使用了war的资源路径,唉对jndi没有理解,调试了一个晚上,希望大家不要犯我这样的错误),然后再是EJB bean的路径,

this.computerBean = computerBean;   
} catch (NamingException e) {   
e.printStackTrace();   
}   
}  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

【编辑推荐】

  1. Spring支持EJB的实现
  2. EJB和Spring全面比较
  3. Weblogic开发和EJB基础应用
  4. JDO、EJB CMP、Hibernate和Amber比较
  5. 采用EJB开发的三个优势
责任编辑:彭凡 来源: javaeye
相关推荐

2009-06-17 09:01:20

JBoss访问EJB

2011-05-18 14:51:43

2019-10-09 08:00:17

Kubernetes容器云平台

2009-06-15 16:06:25

JBoss IDE

2009-06-15 13:56:02

linux下安装JBo

2009-06-15 09:01:19

安装Jboss

2011-02-22 08:49:38

NoSQL

2009-04-14 09:24:40

OracleXML导出

2009-06-24 15:58:15

EntityManag

2009-06-15 16:32:00

NetBeans字体设置

2009-06-24 15:59:04

消息驱动Bean

2009-06-16 15:15:18

WebLogic EJ

2009-06-23 16:47:54

JBoss停止服务

2025-02-17 08:00:00

机器学习开发Docker

2020-11-10 08:00:00

机器学习技术科学

2009-06-12 17:50:45

Linux下JDK+J

2009-06-10 11:36:45

有状态的SessionEclipse+JBo

2023-12-29 07:04:28

Go项目Docker编写

2009-06-24 15:56:47

实体Bean连接策略

2009-06-10 11:42:26

Session BeaEclipse+JBo
点赞
收藏

51CTO技术栈公众号