<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><smarttagtype name="PersonName" namespaceuri="urn:schemas-microsoft-com:office:smarttags"></smarttagtype><smarttagtype name="time" namespaceuri="urn:schemas-microsoft-com:office:smarttags"></smarttagtype><style> <!-- /* Font Definitions */ @font-face {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:黑体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimHei; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:1 135135232 16 0 262144 0;} @font-face {font-family:"\@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:"\@黑体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:1 135135232 16 0 262144 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt; margin-left:0cm; margin-right:0cm; margin-top:0cm} h1 {mso-style-next:正文; margin-top:17.0pt; margin-right:0cm; margin-bottom:16.5pt; margin-left:0cm; text-align:justify; text-justify:inter-ideograph; line-height:240%; mso-pagination:lines-together; page-break-after:avoid; mso-outline-level:1; font-size:22.0pt; font-family:"Times New Roman"; mso-font-kerning:22.0pt;} h2 {mso-style-next:正文; margin-top:13.0pt; margin-right:0cm; margin-bottom:13.0pt; margin-left:0cm; text-align:justify; text-justify:inter-ideograph; line-height:173%; mso-pagination:lines-together; page-break-after:avoid; mso-outline-level:2; font-size:16.0pt; font-family:Arial; mso-fareast-font-family:黑体; mso-bidi-font-family:"Times New Roman"; mso-font-kerning:1.0pt;} a:link, span.MsoHyperlink {color:blue; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {color:purple; text-decoration:underline; text-underline:single;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:42.55pt; mso-footer-margin:49.6pt; mso-paper-source:0; layout-grid:15.6pt;} div.Section1 {page:Section1;} /* List Definitions */ @list l0 {mso-list-id:382799510; mso-list-type:hybrid; mso-list-template-ids:-1448299376 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l0:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l1 {mso-list-id:469905452; mso-list-type:hybrid; mso-list-template-ids:-1209473800 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l1:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l2 {mso-list-id:636377810; mso-list-type:hybrid; mso-list-template-ids:-773847198 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l2:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l3 {mso-list-id:665741127; mso-list-type:hybrid; mso-list-template-ids:-628696710 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l3:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l4 {mso-list-id:996878918; mso-list-type:hybrid; mso-list-template-ids:-396097822 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l4:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l5 {mso-list-id:1022626935; mso-list-type:hybrid; mso-list-template-ids:-1308614862 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l5:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l6 {mso-list-id:1038169199; mso-list-type:hybrid; mso-list-template-ids:-1526463684 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l6:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l7 {mso-list-id:1067873417; mso-list-type:hybrid; mso-list-template-ids:115745608 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l7:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l8 {mso-list-id:1139105775; mso-list-type:hybrid; mso-list-template-ids:602457600 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l8:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l9 {mso-list-id:1162623996; mso-list-type:hybrid; mso-list-template-ids:-840382462 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l9:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l10 {mso-list-id:1259219828; mso-list-type:hybrid; mso-list-template-ids:1700676690 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l10:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l11 {mso-list-id:1274047453; mso-list-type:hybrid; mso-list-template-ids:-2089510894 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l11:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l12 {mso-list-id:1287547961; mso-list-type:hybrid; mso-list-template-ids:436657696 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l12:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l13 {mso-list-id:1886722916; mso-list-type:hybrid; mso-list-template-ids:411593400 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l13:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} @list l14 {mso-list-id:1989821835; mso-list-type:hybrid; mso-list-template-ids:914286596 67698693 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @list l14:level1 {mso-level-number-format:bullet; mso-level-text:\F075; mso-level-tab-stop:38.95pt; mso-level-number-position:left; margin-left:38.95pt; text-indent:-21.0pt; font-family:Wingdings;} ol {margin-bottom:0cm;} ul {margin-bottom:0cm;} --> </style>
数据源
如果你的应用程序将连接到数据库,你可能需要为数据库配置一个数据源。以下是如何配置一个简单的数据源:
如果你使用的数据库JDBC驱动没有在服务器的lib目录中,复制驱动程序到此目录,然后重新启动JBoss。
为你的数据库创建一个数据源描述文件,例如,oracle-ds.xml:
部署数据源描述文件,方法和部署应用程序相同。
以下是oracle数据源的一个描述文件示例:
<?xml version="1.0" encoding="UTF-8"?>
<datasources><p></p></datasources>
? <local-tx-datasource><p></p></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>
?
其它的数据源描述文件的示例可以在JBOSS_HOME/docs/examples/jca中找到。
?
EJB
为JBoss创建EJB和其他任何J2EE应用服务器一样,但需要一个额外的JBoss使用的EJB部署描述文件jboss.xml,以下是一个示例:
<?xml version="1.0" encoding="UTF-8"?>
o:p>
? "http://www.jboss.org/j2ee/dtd/jboss.dtd">
<jboss><p></p></jboss>
? <enterprise-beans><p></p></enterprise-beans>
??? <session><p></p></session>
????? <ejb-name>Processor</ejb-name>
????? <jndi-name>ejb/Processor</jndi-name>
???
??? <entity><p></p></entity>
????? <ejb-name>Data</ejb-name>
????? <jndi-name>ejb/Data</jndi-name>
???
?
请注意,和其它J2EE服务器不同,JBoss不需要生成存根文件(stubs and skeletons),它能动态调用EJB。
?
客户端
正如上文所说,JBoss不需要客户端存根(stubs),你只需向客户端提供以下接口:
u?????? EJB 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 build\bin;
u?????? 键入:run-client。
在Unix下:
u?????? 打开一个Shell;
u?????? 键入:cd build/bin;
u?????? 键入:./run-client.sh。
要在Web客户端测试RotMachine,请打开浏览器,输入:“http://localhost:8080/rotmachine/index.jsp”,在表单中输入一些文本,点击“Go!”按钮。
?
参考资源
u?????? Example Application – RotMachine。
u?????? JBoss。
u?????? JBoss 3.0 Quick Start。
u?????? JBoss Project Template。
u?????? The J2EE Tutorial。
u?????? Ant。
u?????? XDoclet。
分享到:
相关推荐
### 走进JBoss服务器:全面解析J2EE开发必备技能 #### 一、引言 JBoss是一款免费且开源的应用服务器,以其强大的功能和灵活性,在Java开发领域享有盛誉。尤其对于J2EE(Java 2 Platform, Enterprise Edition)...
2. **下载JBoss**: 访问Red Hat的官方网站或者JBoss社区网站,选择合适的JBoss版本进行下载。常见的版本有JBoss EAP(Enterprise Application Platform)和WildFly,两者都是企业级的Java应用服务器,但EAP是商业...
Jboss 项目部署文档 Jboss 项目部署文档是指在 Jboss 服务器上部署项目的详细步骤,包括环境变量的配置、项目打包、配置文件的修改、JNDI 的配置等。以下是 Jboss 项目部署文档的详细知识点: 一、环境变量配置 ...
JBoss 是一个开源的、基于 J2EE(Java 2 Platform, Enterprise Edition)的应用服务器,由全球开发者社区共同维护和开发。它最初以 LGPL 许可协议发布,允许商业应用免费使用。2006年,JBoss 被著名的开源公司 Red ...
2. **解压JBoss AS**:将`jboss-as-7.1.0.Final`压缩包解压到所需的目录,例如`/opt/jboss`. 3. **配置环境变量**:设置`JBOSS_HOME`指向JBoss AS的安装目录,并添加到`PATH`环境变量中。 4. **启动和停止服务器**...
2. **下载JBoss**:前往JBoss官网或其镜像站点下载适合的JBoss版本。选择与开发环境相匹配的版本,比如JBoss AS或WildFly。 3. **解压并配置JBoss**:将下载的JBoss压缩包解压到合适的目录,然后在MyEclipse中进行...
JBossTools-ALL-win32-3.0.0.CR2 是一个专为Windows操作系统设计的集成开发环境(IDE)扩展包,它基于Eclipse平台,提供了丰富的工具集来支持JBoss相关技术的开发、部署和管理。这个版本是3.0.0的候选发布2(CR2),...
JavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-...
【JBoss 概述】 JBoss 是一个开源的、基于Java的、全面实现了J2EE规范的应用服务器。它提供了企业级的功能,如EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JTS/JTA(Java Transaction Service / ...
2. **复制服务器配置**:将一个已配置好的JBoss实例作为模板,复制到其他机器上。修改每个实例的主机名和端口号以避免冲突。 3. **JGroups配置**:编辑`jboss-clustering.xml`,配置JGroups用于节点间通信。选择...
"在IntelliJ IDEA 8中部署Jboss服务器图解" IntelliJ IDEA 8是 JetBrains 公司开发的一款功能强大且灵活的集成开发环境(IDE),它支持多种programming语言,包括Java、Python、Ruby、PHP等。Jboss则是一款流行的...
jboss配置入门 jboss系统是一种基于Java的应用服务器,具有高性能、可扩展、安全性强等特点。在本文中,我们将对jboss的基本配置进行介绍,包括其文件夹结构、配置文件、负载均衡配置等。 jboss文件夹结构 jboss的...
2. **补丁结构分析** - `patch.xml`: 这个文件通常包含了整个补丁包的元数据,包括补丁的描述、版本信息以及应用补丁的指令,是补丁管理的核心文件。 - `7.2.1.GA-patch.xml` 至 `7.2.5.GA-patch.xml`: 这些文件...
2. `classloading`:这是Microcontainer依赖注入机制的一个扩展,基于类加载配置。它允许根据预定义的策略来管理类的生命周期和依赖关系。 3. `classloading-vfs`:这是一个基于Virtual File System(VFS)的实现,...
2. **配置与管理** - **管理工具**:JBoss5提供了基于Web的管理控制台,可以方便地进行服务器配置、部署应用、查看日志等操作。 - **XML配置**:使用standalone.xml或domain.xml配置文件管理服务器配置,包括数据...
2. **配置部署目录**:默认情况下,JBoss会监控`deploy`目录下的文件变化。如果希望使用其他目录,可以在`jboss-service.xml`中更改`deploymentDir`属性值。 3. **禁用模块的TOMCAT类加载器**:某些模块可能使用了...
2. **EJB 3.0**:JBoss 4.0.5.GA实现了EJB 3.0规范,简化了Enterprise JavaBeans的开发,通过注解(Annotation)可以轻松地声明bean的属性,无需XML配置文件,提高了开发效率。 3. **JPA**:这一版本引入了JPA作为...