首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 笔记本电脑 | 北大青鸟 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
中国IT教育
Google
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME Java&XML 开源技术 其他技术 RSS订阅 论坛 专题
您现在的位置: 中国IT实验室 >> Java >> 开源技术 >> JBoss >> 正文

用Jboss数据源将应用程序连接到数据库


  数据源
  如果你的应用程序将连接到数据库,你可能需要为数据库配置一个数据源。以下是如何配置一个简单的数据源:
  
  如果你使用的数据库JDBC驱动没有在服务器的lib目录中,复制驱动程序到此目录,然后重新启动JBoss。
  
  为你的数据库创建一个数据源描述文件,例如,oracle-ds.xml:
  
  部署数据源描述文件,方法和部署应用程序相同。
  
  以下是oracle数据源的一个描述文件示例:
  
  以下内容为程序代码:
  
  <?xml version="1.0" encoding="UTF-8"?>
  <datasources>
   <local-tx-datasource>
    <jndi-name>OracleDS</jndi-name>
    <connection-url>jdbc:oracle:thin:@serverip:1521:DB</connection-url>
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <user-name>dev</user-name>
    <password>secret</password>
   </local-tx-datasource>
  </datasources>
  
  其它的数据源描述文件的示例可以在JBOSS_HOME/docs/examples/jca中找到。
  
  EJB
  为JBoss创建EJB和其他任何J2EE应用服务器一样,但需要一个额外的JBoss使用的EJB部署描述文件jboss.xml,以下是一个示例:
  
  以下内容为程序代码:
  
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS//EN"
   "http://www.jboss.org/j2ee/dtd/jboss.dtd";>
  <jboss>
   <enterprise-beans>
    <session>
     <ejb-name>Processor</ejb-name>
     <jndi-name>ejb/Processor</jndi-name>
    </session>
    <entity>
     <ejb-name>Data</ejb-name>
     <jndi-name>ejb/Data</jndi-name>
    </entity>
   </enterprise-beans>
  </jboss>
  
  请注意,和其它J2EE服务器不同,JBoss不需要生成存根文件(stubs and skeletons),它能动态调用EJB。
  
  客户端
  正如上文所说,JBoss不需要客户端存根(stubs),你只需向客户端提供以下接口:
  
  EJB Home接口和Remote接口;
  任何在客户端和EJB间传递的对象;
  一份JBOSS_HOME/client/jbossall-client.jar的文件拷贝。
  以下是连接已部署在JBoss中的EJB的示例:
  
  // 创建环境:
  
  以下内容为程序代码:
  Hashtable env = new Hashtable();
  env.put("java.naming.factory.initial",
   "org.jnp.interfaces.NamingContextFactory");
  env.put("java.naming.factory.url.pkgs",
   "org.jboss.naming:org.jnp.interfaces");
  env.put("java.naming.provider.url", "localhost");
  // 创建名字上下文:
  InitialContext context = new InitialContext(env);
  // 查找Home接口:
  CipherHome home = (CipherHome)context.lookup("ejb/org/rotmachine/Cipher");
  // 获得Remote接口:
  Cipher cipher = home.create();
  
  一个示例应用
  为了帮助你更好的了解JBoss,本文包含了一个名为RotMachine的应用程序,请参见资源链接。
  
  RotMachine是一个简单的J2EE应用,包括一个EJB(Stateless Session Bean),一个Web客户端和一个命令行(Command-line)客户端。它使用JBoss的项目模板(Project Template),你可能需要上文提到的一些额外的开发工具。
  
  如果要编译RotMachine的源文件,解压文件到一个指定的目录中,在Windows下:
  
  打开一个命令提示符窗口;
  键入:cd (解压目录);
  键入:ant deploy-server。
  
  在Unix下:
  
  打开一个Shell;
  键入:cd (解压目录);
  键入:ant deploy-server。
  
  要在命令行客户端测试RotMachine,在Windows下:
  
  打开一个命令提示符窗口;
  键入:cd build\bin;
  键入:run-client。
  
  在Unix下:
  
  打开一个Shell;
  键入:cd build/bin;
  键入:./run-client.sh。
  
  要在Web客户端测试RotMachine,请打开浏览器,输入:“http://localhost:8080/rotmachine/index.jsp”,在表单中输入一些文本,点击“Go!”按钮。
【责编:admin】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·算法分析与设计之五大常用算法
 ·开发必备 漫谈Java加密保护
 ·嵌入式开发--ARM技术专题
 ·C/C++指针,认真了解,灵活运用
 ·.NET开发:C#实用基础教程
 ·软件测试工具QTP学习专题
 ·嵌入式开发单片机解决方案专题
 ·Java开发环境 Greenfoot 程序员手册
 ·C++对象布局及多态实现的探索
 ·常见排序算法的实现
 今日更新
 社区讨论
 博客论点
 频道精选
 Java 频道导航