首页 > 学院 > 开发设计 > 正文

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

2019-11-18 13:05:00
字体:
来源:转载
供稿:网友

  数据源
  假如你的应用程序将连接到数据库,你可能需要为数据库配置一个数据源。以下是如何配置一个简单的数据源:
  
  假如你使用的数据库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!”按钮。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表