应用服务器-走进免费的开源的JBoss(2)
数据源
如果你的应用程序将连接到数据库,你可能需要为数据库配置一个数据源。以下是如何配置一个简单的数据源:
如果你使用的数据库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.inte易做图ces.NamingContextFactory");
env.put("java.naming.factory.url.pkgs",
"org.jboss.naming:org.jnp.inte易做图ces");
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!”按钮。
补充:软件开发 , Java ,