第一范文网 - 专业文章范例文档资料分享平台

JBoss中文文档

来源:用户分享 时间:2025/5/16 11:27:52 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

专注于Java EE平台、敏捷方法及Open Source技术咨询

图4-1 HSQL数据库管理器

通过单击上述链接,用户能够使用到Hypersonic MBean服务提供的HSQL数据库管理

功能。具体步骤如下:将屏幕滚动到页面底端,然后单击用于startDatabaseManager()操作的invoke按钮,进而启动了HSQL管理器,即用户能够直接操作数据库的、基于图形用户界面的Java应用。 4.1.8 部署应用

部署基于JBoss的应用很简单,用户只需要将EAR文件拷贝到deploy目录即可。通过Ant目标deploy能够完成应用的部署工作。

ant -f jboss-build.xml deploy

如下给出了示例(作了部分裁减,而且同用户所看到的实际输出会有所差别)。

18:07:53,923 INFO [EARDeployer] Init J2EE application: file:/private/tmp/jboss-4.0.4/server/default/deploy/JBossDukesBank.ear 18:07:55,024 INFO [EjbModule] Deploying CustomerBean 18:07:55,103 INFO [EjbModule] Deploying AccountBean 18:07:55,142 INFO [EjbModule] Deploying TxBean 18:07:55,403 INFO [EjbModule] Deploying NextIdBean

18:07:55,439 INFO [EjbModule] Deploying AccountControllerBean 18:07:55,478 INFO [EjbModule] Deploying CustomerControllerBean

www.open-v.com 拓宽视野,奔向成功

Open View, Victory Open

20 专注于Java EE平台、敏捷方法及Open Source技术咨询

18:07:55,503 INFO [EjbModule] Deploying TxControllerBean

18:07:56,950 INFO [EJBDeployer] Deployed: file:/private/tmp/jboss-4.0.4/server/default/t mp/deploy/tmp15097JBossDukesBank.ear-contents/bank-ejb.jar

18:07:57,267 INFO [TomcatDeployer] deploy, ctxPath=/bank, warUrl=file:/private/tmp/jboss -4.0.4/server/default/tmp/deploy/tmp15097JBossDukesBank.ear-contents/web-client.war/ 18:08:00,784 INFO [EARDeployer] Started J2EE application: file:/private/tmp/jboss-4.0.4/ server/default/deploy/JBossDukesBank.ear

如果存在错误或异常信息,则请注意错误信息,并确认导致错误的原因(比如,部署某

特定EJB时,或Web应用等等)。请检查EAR、WAR、EJB jar文件的完整性,比如所有所需的组件(类、部署描述符等等)是否都存在。 如果应用已经部署,则用户可以放心地再次部署它。如果需要卸载应用,则只需要将相应的存档从deploy目录删除即可。当然,JBoss服务器始终不需要重启。如果一切都正常,并无异常抛出,则通过Web浏览器打开如下URL:

http://localhost:8080/bank/main 用户将浏览到应用登陆界面。同J2EE Tutorial给出的一样,用户通过顾客ID(200)和密码(j2ee)能够登陆进入系统,见图4-2。如果出现错误,则请检查4.1.7.1节设置的数据库是否正常工作。尤其是,需要确保connection-url没问题。然后,需要确保正确地初始化了数据库。 当然,用户使用Ant目标run-client还能够启动单独的Java客户应用。

ant -f jboss-build.xml run-client

这是基于Swing的Java应用,以实现对顾客和账号的管理。

图4-2 Duke银行

www.open-v.com 拓宽视野,奔向成功

Open View, Victory Open

21 专注于Java EE平台、敏捷方法及Open Source技术咨询

4.2 JNDI和Java客户

另外,花些精力研究单独Java客户应用是如何使用JNDI,还是很值得的。本实例使用

了J2EE应用客户框架,它引入了客户端本地环境命名上下文的概念,即能够解析前缀为java:/comp/env的JNDI名字。这同服务器端使用JNDI很类似,因此用户能够避免在客户应用中硬编码JNDI名。用户通过使用专有jboss-client.xml部署描述符能够解析标准application-client.xml部署描述符中的JNDI引用名。详情请参考,3.2.1节。 4.2.1 jndi.properties文件

为查找JNDI服务器,用户需要使用标准Java属性。具体细节及其工作机制,请用户参考JDK API文档对javax.naming.Context类的解析。Java属性可以通过两种方式提供。其一,硬编码;其二,将jndi.properties文件放置在应用类路径中。比如,本实例使用的jndi.properties文件如下:

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.provider.url=jnp://localhost:1099 java.naming.factory.url.pkgs=org.jboss.naming.client j2ee.clientName=bank-client

其中,前三个是标准属性,供JBoss JNDI实现使用。通过j2ee.clientName属性能够标识客户应用部署信息,并告知服务器端。j2ee.clientName名必须匹配jboss-client.xml描述符中jndi-name指定的名字。

bank-client

ejb/customerController MyCustomerController

ejb/accountController MyAccountController

当然,如果用户只需要构建简单的Web应用,则不需要顾及远程客户的情形。

4.2.2 JMX控制台中的应用JNDI信息

既然我们在此阐述JNDI主题,则让我们再次回到JBoss JMX控制台,来看看通过它能够浏览到应用的哪些信息。请单击service=JNDIView链接,然后单击list()操作,即显示服

www.open-v.com 拓宽视野,奔向成功

Open View, Victory Open

22 专注于Java EE平台、敏捷方法及Open Source技术咨询

务器的JNDI树。用户应用能够浏览到如下几方面的信息。其一,位于列表顶端,为Duke

银行应用提供的EJB模块;其二,各个EJB的各自私有环境命名上下文;其三,各个EJB连接到JBoss服务器的入口名。下面给出了整理过的JNDI列表:

Ejb Module: bank-ejb.jar

java:comp namespace of the CustomerBean bean: +- env (class: org.jnp.interfaces.NamingContext)

java:comp namespace of the AccountBean bean: +- env (class: org.jnp.interfaces.NamingContext)

java:comp namespace of the TxBean bean: +- env (class: org.jnp.interfaces.NamingContext)

java:comp namespace of the NextIdBean bean: +- env (class: org.jnp.interfaces.NamingContext)

java:comp namespace of the AccountControllerBean bean: +- env (class: org.jnp.interfaces.NamingContext) | +- ejb (class: org.jnp.interfaces.NamingContext) | | +- tx[link -> MyTx] (class: javax.naming.LinkRef) | | +- nextId[link -> MyNextId] (class: javax.naming.LinkRef) | | +- account[link -> MyAccount] (class: javax.naming.LinkRef) | | +- customer[link -> MyCustomer] (class: javax.naming.LinkRef)

java:comp namespace of the CustomerControllerBean bean: +- env (class: org.jnp.interfaces.NamingContext) | +- ejb (class: org.jnp.interfaces.NamingContext) | | +- tx[link -> MyTx] (class: javax.naming.LinkRef) | | +- nextId[link -> MyNextId] (class: javax.naming.LinkRef) | | +- account[link -> MyAccount] (class: javax.naming.LinkRef) | | +- customer[link -> MyCustomer] (class: javax.naming.LinkRef)

java:comp namespace of the TxControllerBean bean: +- env (class: org.jnp.interfaces.NamingContext) | +- ejb (class: org.jnp.interfaces.NamingContext) | | +- tx[link -> MyTx] (class: javax.naming.LinkRef) | | +- nextId[link -> MyNextId] (class: javax.naming.LinkRef) | | +- account[link -> MyAccount] (class: javax.naming.LinkRef) | | +- customer[link -> MyCustomer] (class: javax.naming.LinkRef)

www.open-v.com 拓宽视野,奔向成功

Open View, Victory Open

23 专注于Java EE平台、敏捷方法及Open Source技术咨询

java: Namespace

+- XAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory) +- DefaultDS (class: org.jboss.resource.adapter.jdbc.WrapperDataSource) +- SecurityProxyFactory (class: org.jboss.security.SubjectSecurityProxyFactory) +- DefaultJMSProvider (class: org.jboss.jms.jndi.JNDIProviderAdapter) +- comp (class: javax.naming.Context)

+- JmsXA (class: org.jboss.resource.adapter.jms.JmsConnectionFactoryImpl) +- ConnectionFactory (class: org.jboss.mq.SpyConnectionFactory) +- jaas (class: javax.naming.Context)

| +- HsqlDbRealm (class: org.jboss.security.plugins.SecurityDomainContext) | +- jmx-console (class: org.jboss.security.plugins.SecurityDomainContext) | +- jbossmq (class: org.jboss.security.plugins.SecurityDomainContext) | +- JmsXARealm (class: org.jboss.security.plugins.SecurityDomainContext) +- timedCacheFactory (class: javax.naming.Context)

Failed to lookup: timedCacheFactory, errmsg=org.jboss.util.TimedCachePolicy +- TransactionPropagationContextExporter

(class: org.jboss.tm.TransactionPropagationContextFactory) +- StdJMSPool (class: org.jboss.jms.asf.StdServerSessionPoolFactory) +- Mail (class: javax.mail.Session)

+- TransactionPropagationContextImporter

(class: org.jboss.tm.TransactionPropagationContextImporter) +- TransactionManager (class: org.jboss.tm.TxManager)

如果将屏幕滚动到底端,即java:命名空间4之下,用户能够浏览到活动安全性管理器列表。如下给出了绑定的安全性域名字。

+- jaas (class: javax.naming.Context)

| +- dukesbank (class: org.jboss.security.plugins.SecurityDomainContext) | +- JmsXARealm (class: org.jboss.security.plugins.SecurityDomainContext) | +- jbossmq (class: org.jboss.security.plugins.SecurityDomainContext) | +- HsqlDbRealm (class: org.jboss.security.plugins.SecurityDomainContext)

请注意,只有需要某安全性域时,它才会被创建,因此如果应用使用了dukesbank域,并试图登陆到系统中,则才能看到dukesbank入口。

4.3 安全性

初次访问Duke银行应用时,用户需要依据应用提供的简单登陆表单给出用户名和密码。与此同时,然而为使用J2EE安全性,开发者需要在应用服务器中配置相应的信息。J2EE规范本身并不关注认证逻辑的具体行为。实际上,安全性域控制了认证机制。本节将研究Duke 4

java:命名空间中的名字仅供运行JBoss的JVM内部使用。远程客户不能够使用它们,除非使用了全局命名空间中的JNDI名字。

24www.open-v.com 拓宽视野,奔向成功

Open View, Victory Open

搜索更多关于: JBoss中文文档 的文档
JBoss中文文档.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c38ywy891bi6tck19hlml_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top