.安装jboss
解压jboss到一个目录中如:/usr/local/jboss,然后添加"/usr/local/jboss"到路径中,并设置jboss_home="/usr/local/jboss"
然后执行run.sh,打开浏览器http://localhost:8080,如果有测试页显示,说明安装成功!
在/root目录下配置 .bash_profile 添加环境变量
在/usr/local/jboss/bin 运行 sh run.sh 启动jboss服务器
jboss基础问题(jboss-4.0.1sp1)
1、解压完毕后,应该生成如下目录:
bin: 命令和脚本
client: 客户端jars
docs: jboss的文档
lib: 服务器端jars
server: 服务器配置文件
2、jboss提供了3种服务器配置:
1)minimal:最小配置,仅仅包括日志,jndi服务和url部署扫描器,你可能会在一个不需要j2ee的应用中使用这种配置,或者以该配置为基础自定义配置。
2)default:缺省配置,包括除了rmi/iiop和集群的所有j2ee服务。
3)all:这种配置包括所有的jboss服务。
3、启动
为了启动jboss,在windows下:
键入:cd %jboss_home%bin;
键入:run [-c default|minimal|all]。
在unix下:
键入:cd $jboss_home/bin;
键入:./run [-c default|minimal|all]。
如果jboss启动成功,你应该可以看到以下输出:
12:16:27,812 info [server] jboss (mx microkernel) [4.0.1sp1 (build: cvstag=jboss_4_0_1_sp1 date=200611270314)] started in 20s:429ms
一旦服务器启动成功,你就可以通过在浏览器中打开http://localhost:8080/jmx-console/来验证所有的j2ee服务是否都启动了。这是jboss的管理台,它将显示当前配置下jboss正在运行的所有服务以及每个服务的详细内容。
4、关闭
如果在windows的命令行窗口或者当前的unix shell下运行jboss,只需要简单的按下ctrl+c即可关闭jboss。
如果在windows下不能看见命令行窗口:
打开一个新的命令行窗口;
键入:cd %jboss_home%bin;
键入:shutdown -s或者shutdown --server=url
如果在unix shell的后台运行:
打开一个shell;
键入:cd $jboss_home/bin;
键入:./shutdown -s或./shutdown --server=url
管理
JBoss通过一个基于Web的控制台管理,你只需在浏览器中键入:http://localhost:8080/jmx-console/即可。 查看或更改某一服务的配置,只需简单的点击链接。
通过控制台,你还可以使用一些服务的公开的方法,例如,关闭服务器:
1) 打开控制台;
2) 卷动到"jboss.system"选项;
3)点击链接"type=server";
4)卷动到"void shutdown()"选项;
5)点击"Invoke"按钮。
部署应用程序
在 JBoss 中部署应用程序是再简单不过的了。简单的复制你的应用程序打包文件: .jar , .war 或者 .ear 到服务器缺省的部署目录下,如果 JBoss 正在运行,将检测到文件,自动解压,然后装载应用程序。
以下是将一个应用部署到一个缺省的服务器配置的例子,在 Windows 下:
复制rotmachine.ear到%JBOSS_HOME%/server/default/deploy
在Unix下:
复制rotmachine.ear到$JBOSS_HOME/server/default/deploy
在部署过程中,JBoss日志将在控制台窗口输出信息并写入日志,日志文件位于服务器的配置目录。如果部署成功,你应该可以看到以下信息:
22:21:44,730 INFO [MainDeployer] Deployed package: file:/C:/jboss-3.2.1/server/default/deploy/rotmachine.ear
此外,如果你打开JBoss的管理台,可以在"jboss.j2ee"类别下列出你的应用。
取消已部署的应用
取消已部署的应用程序比部署应用程序更简单。只要简单的从部署目录中删除相应的应用程序文件, JBoss 就会检测到文件已被删除,然后取消已部署的应用。
取消部署一个应用时, JBoss 日志将在控制台窗口显示信息,并记录到服务器日志。如果取消部署成功,你应该可以看到以下信息:
22:59:41,500 INFO [MainDeployer] Undeployed file:/C:/jboss-3.2.1/server/default/deploy/rotmachine.ear
数据源
如果你的应用程序将连接到数据库,你可能需要为数据库配置一个数据源。以下是如何配置一个简单的数据源:
如果你使用的数据库 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!"按钮