JAVA应用之将EJB部署在Jboss下解析

  EJB部署是一个比较容易的问题,本文章简单解析一下JAVA应用之将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>

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

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

  • META-INF   
  •     --application.xml   
  • testEJBweb.war   
  • testEJB.jar

客户端调用,可以是普通类,也可以是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");

这里特别注意的是使用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");

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

  • this.computerBean = computerBean;   
  • } catch (NamingException e) {   
  • e.printStackTrace();   
  • }   
  • }

也希望能够大家多沟通交流工作经验---

转载于:https://www.cnblogs.com/feilong3540717/archive/2012/04/20/2459052.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值