应用服务器-走进免费的开源的JBoss(2)

2014-11-23 22:58:53 · 作者: · 浏览: 0

数据源

如果你的应用程序将连接到数据库,你可能需要为数据库配置一个数据源。以下是如何配置一个简单的数据源:

如果你使用的数据库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),你只需向客户端提供以下接口:

uEJB Home接口和Remote接口;

u任何在客户端和EJB间传递的对象;

u一份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下:

u打开一个命令提示符窗口;

u键入:cd (解压目录);

u键入:ant deploy-server。

在Unix下:

u打开一个Shell;

u键入:cd (解压目录);

u键入:ant deploy-server。

要在命令行客户端测试RotMachine,在Windows下:

u打开一个命令提示符窗口;

u键入:cd buildin;

u键入:run-client。

在Unix下:

u打开一个Shell;

u键入:cd build/bin;

u键入:./run-client.sh。

要在Web客户端测试RotMachine,请打开浏览器,输入:“http://localhost:8080/rotmachine/index.jsp”,在表单中输入一些文本,点击“Go!”按钮。