在WebLogic 12c上运行RichFaces

我最初以为我可以在几个月前写这篇文章。 但是我最终被不一样的事情所淹没。 其中之一是,它无法像我在4.0版本中那样简单地启动RichFaces展示柜。 有了所有的JMS magic和不同的提供者检查,这已经成为简单构建和部署它的挑战。

无论如何,我愿意尝试一下,然后开始。 如果您想开始使用任何JBoss技术,最好先检查一下JBoss Developer Framework 。 这是各种示例和快速入门的不错集合,可帮助您开始使用Java EE及其技术。 RichFaces-Validation示例就是其中之一,该示例演示了如何一起使用JSF 2.0,RichFaces 4.2,CDI 1.0,JPA 2.0和Bean Validation 1.0。

这个例子

该示例由一个成员实体组成,该成员实体具有一些JSR-303(Bean验证)约束。 通常,从数据库开始,在持久性层,最后是与客户端紧密交互的视图层中的多个地方,对这些位置进行检查。 即使此快速指南不包含持久层,它也从Enity开始,它很好地反映了现实生活中的情况。 该应用程序包含使用JSF和RichFaces编写的视图层,并包括用于新成员注册的AJAX向导。 新注册的成员需要在实际“注册”之前提供一些信息。 这包括通过电子邮件发送姓名和电话号码。

入门

我将不再重复出色而详细的快速入门已经向您展示的内容。 因此,如果您想在JBoss AS7上运行它,请去那里。 我们从一个空白的Maven Web项目开始。 最好,最简单的方法是启动NetBeans 7.2并创建一个。 让我们将其命名为“ richwls-web”。 打开您的pom.xml并开始在那里进行一些更改。 首先在此处删除认可的内容。 我们不需要它。 接下来是添加一点dependencyManagement:

<dependencyManagement><dependencies><dependency><groupId>org.jboss.bom</groupId><artifactId>jboss-javaee-6.0-with-tools</artifactId><version>1.0.0.Final</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.richfaces</groupId><artifactId>richfaces-bom</artifactId><version>4.2.0.Final</version><scope>import</scope><type>pom</type></dependency></dependencies></dependencyManagement>

这会将Java EE 6和RichFaces的物料清单(BOM)添加到您的项目中。 BOM会指定工件“堆栈”(或集合)的版本。 您可以从RedHat家伙那里找到任何东西,并且认为拥有它是“最佳实践”。 最后,这可以简化您的工作,因为它可以为您管理版本和依赖项。
关于冗长的真实依赖项列表:

<!-- Import the CDI API --><dependency><groupId>javax.enterprise</groupId><artifactId>cdi-api</artifactId><scope>provided</scope></dependency><!-- Import the JPA API --><dependency><groupId>javax.persistence</groupId><artifactId>persistence-api</artifactId><version>1.0.2</version><scope>provided</scope></dependency><!-- JSR-303 (Bean Validation) Implementation --><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><version>4.3.0.Final</version><scope>provided</scope><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId></exclusion></exclusions></dependency><!-- Import the JSF API --><dependency><groupId>javax.faces</groupId><artifactId>jsf-api</artifactId><version>2.1</version><scope>provided</scope></dependency><!-- Import RichFaces runtime dependencies - these will be includedas libraries in the WAR --><dependency><groupId>org.richfaces.ui</groupId><artifactId>richfaces-components-ui</artifactId></dependency><dependency><groupId>org.richfaces.core</groupId><artifactId>richfaces-core-impl</artifactId></dependency>

除了RichFaces依赖项之外,其他所有项都由运行时提供。 在这种情况下,它将是GlassFish 3.1.2.2。 如果您尚未在其他地方(settings.xml)定义它,则还应该将JBoss存储库添加到构建部分:

<repository><id>jboss-public-repository-group</id><name>JBoss Public Maven Repository Group</name><url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url></repository>

复制source-zip的richfaces-validation目录的内容,或从github中检出它 。 请多加注意,不要弄乱我们创建的pom.xml;)构建它并部署这些东西。

问题

首先,您会得到一个很好的焊接信息:

WELD-000054 Producers cannot produce non-serializable instances for injection into non-transient fields of passivating beans [...] Producer Method [Logger] with qualifiers

显然我们这里有一个问题,需要将Logger字段声明为瞬态。

@Inject
private transient Logger logger;

不知道为什么它可以在AS7上工作,但是有一天我可能会发现它是:)下一次迭代:更改,构建,部署。

java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;

看起来还不错。 在http:// localhost:7001 / wls-cat /上启动WLS CAT,然后尝试查找它。

似乎Oracle正在服务器内部使用Google Magic。 好的。 我们无法将RichFaces部署为对WebLogic的独立战争,因为我们需要在此处解决一些类加载问题。 推荐的方法是添加一个所谓的过滤类加载器。 您可以通过将weblogic-application.xml添加到您的耳朵来实现。 是的:让我们重新打包所有内容,将战争放在空旷的耳朵中,然后将魔术添加到weblogic-application.xml中:

<prefer-application-packages><package-name>com.google.common.*</package-name></prefer-application-packages>

做完了吗 进行另一次部署,您终于可以看到您的应用程序。 RichFaces基本上是在WebLogic上运行的,但是您必须将其打包到耳朵中,并为com.google.common。*类打开类加载器。 使用PrimeFaces可以轻松得多,但是…无论如何,有一些原因让我尝试这样做。 一种是,我很喜欢能够在客户端触发Bean验证的想法。 如果看一下示例, <rich:validator event ='blur'/>会为客户端添加针对bean验证约束和标准jsf验证器的客户端验证。 无需弄乱JavaScript或重复逻辑中的任何内容。

祝您编程愉快,别忘了分享!

参考:来自JCG合作伙伴 Markus Eisele的WebLogic 12c上的RichFaces运行在 Java软件企业博客上。


翻译自: https://www.javacodegeeks.com/2012/09/running-richfaces-on-weblogic-12c.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot系列教程一:Eclipse安装spring-tool-suite插件

一.前言 一直使用eclipse&#xff0c;个人习惯选用Eclipsespring-tool-suite进行开发&#xff0c;特别注意Eclipse要选用对应的spring-tool-suite进行安装&#xff0c;这点笔者浪费了好长时间&#xff0c;以下为对应的版本。eclipse-kepler.4.3.1–>springsource-tool-suite…

湖南工程学院计算机网络考试,湖南工程学院 计算机网络期末试卷试题

湖南工程学院 计算机网络期末试卷试题湖南工程学院 计算机网络 期末试题(计算机10级&#xff0c;90%的题目)1 从逻辑功能上看,计算机网络可分为哪两个子网?答&#xff1a;通信子网和资源子网 2 数据链路层的最基本功能答&#xff1a;数据链路层的最基本的功能是向该层用户提供…

C#设计模式(11)——外观模式(Facade Pattern)

一、引言 在软件开发过程中&#xff0c;客户端程序经常会与复杂系统的内部子系统进行耦合&#xff0c;从而导致客户端程序随着子系统的变化而变化&#xff0c;然而为了将复杂系统的内部子系统与客户端之间的依赖解耦&#xff0c;从而就有了外观模式&#xff0c;也称作 ”门面“…

OS X Mountain Lion上的多个Java版本

在Mountain Lion之前&#xff0c;Java被捆绑在OS X中。似乎在升级期间&#xff0c;我在计算机上安装的Java 6版本被删除了。 显然&#xff0c;在升级过程中卸载Java的原因是Java运行时存在的安全问题。通过这种方式&#xff0c;您不得不安装可解决此安全问题的最新版本。 所以我…

2020暨阳学院园林计算机考研考场,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼二、关键一步——院校选择我把各位同学的院校选择阶段分为以上几个阶段&#xff0c;因为考研这一年中&#xff0c;很多人的目标院校并不是固定不变的&#xff0c;而是随着不同阶段而改变的。学长我在大三下学期这一时间段内也多次更…

JavaOne 2012:向上,向上和向外:使用Akka扩展软件

在最后的社区主题演讲后&#xff0c;我前往希尔顿金门大桥3/4/5观看了维克多巴生 &#xff08; Viktor Klang &#xff09;的&#xff08; Typesafe &#xff09;“上&#xff0c;下&#xff0c;外&#xff1a;Akka”演讲。 巴生&#xff08;Klang&#xff09;是Akka的技术主管…

Spring测试支持和上下文缓存

Spring为单元测试和集成测试提供了全面的支持-通过注释来加载Spring应用程序上下文&#xff0c;并与JUnit和TestNG等单元测试框架集成。 由于为每个测试加载大型应用程序上下文需要时间&#xff0c;因此Spring智能地为测试套件缓存应用程序上下文–通常&#xff0c;当我们通过a…

perl6正则 4: before / after 代码断言: ?{} / !{}

<?before> <? befor XXX> 某字符在 xxx 之前 <?after > <?after XXX> 某字符之后有XXX 对应的取反分别为: <!before > <!before XXX> XXX之前没有 <!after> <!after xxx> 某字符后面不是 xxx say "foobar" ~~…

如何写出安全的API接口(参数加密+超时处理+私钥验证+Https)- 续(附demo)

转载&#xff1a;http://www.cnblogs.com/codeon/p/6123863.html 上篇文章说到接口安全的设计思路&#xff0c;如果没有看到上篇博客&#xff0c;建议看完再来看这个。 通过园友们的讨论&#xff0c;以及我自己查了些资料&#xff0c;然后对接口安全做一个相对完善的总结&#…

PrimeFaces在GlassFish 3.1.2.2上推动大气

PrimeFaces 3.4在三天前问世。 除了通常令人敬畏的新组件和更新组件之外&#xff0c;它还包括新的PrimeFaces Push框架。 基于Atmosphere&#xff0c;这为您的应用程序提供了简单的推送机制。 这是在最新的GlassFish 3.1.2.2上配置和运行它的方法。 准备工作 像往常一样&#…

JBoss AS 7类加载说明

这是示例章节&#xff0c;摘自Francesco Marchioni编辑的JBoss AS 7 Configuration Deployment and Administration一书&#xff0c;该书正在运行一个名为mastertheboss.com的JBoss门户。 根据Java EE规范的要求&#xff0c;理想情况下&#xff0c;应用程序服务器应为其部署的应…

兵团职称计算机准考证查询,兵团初级会计准考证打印入口官网

兵团初级会计准考证打印入口官网为财政部会计资格评价中心网(http://kzp.mof.gov.cn)。准考证打印时间在4月16日前公布&#xff0c;考生需要在规定时间登录财政部会计资格评价中心网(http://kzp.mof.gov.cn)下载并打印准考证。未在上述时限内下载打印准考证的&#xff0c;视作放…

MySQL数据库的基本操作

-- 连接mysql 数据库(前提是配置好MySQL数据库的环境变量&#xff0c;加入path)mysql -uroot -p -- 设置文本的输入输出编码&#xff1a;cmd 使用的是gbk&#xff0c;不然显示乱码set names gbk; -- 创建数据库create database mydatabase charset utf8; -- 创建用户 user001cr…

使用NoSQL实施实体服务–第5部分:使用云提高自治性

在先前的文章中&#xff0c;我讨论了如何通过结合使用Java Web Services &#xff0c; Java EE和CouchDB NoSQL数据库为产品构建SOA“实体”服务。 在本系列的最后一篇文章中&#xff0c;我将利用我已经创建的一些技术资产&#xff0c;并使用一些流行的SOA模式实现一些新的用户…

乐高计算机发展史教程,【乐高产品发展史特别篇】乐高恐龙发展史

—— 写在前面 ——2018年6月22日&#xff0c;《侏罗纪世界2&#xff1a;失落王国》全球上映&#xff1b;4月16日&#xff0c;乐高同名系列套装全球发售。恐龙是一个伴随了乐高产品二十余年的主题&#xff0c;其实在一年以前就有这样一个计划完成乐高恐龙发展史的相关内容&…

mvc 连接数据库但单复值得问题

1. The model backing the ‘MusicStoreDBContext‘ context has changed since the database was created. Consider using Code First Migrations to update the database Movie这个表是用来记录Model的版本号的&#xff0c;你每次重新生成一次数据库它就会重新给ModelHash…

Mybatis处理表关联(懒加载)

1.关系型数据库&#xff1f; 数据库中的表对象之间是有关系的。 一对一&#xff0c;一对多&#xff0c;多对多。 ORM映射。数据库表映射到实体对象。 实体与实体之间是有关系的。 一对多的关系。 比如商品分类表与商品表之间的关系&#xff0c;就是一对多的关系。 入库主表与入…

Spring–设计领域模型和服务层

我们将为时间表管理构建应用程序。 因此&#xff0c;让我们首先考虑一些用例和实体。 让我用几个项目符号写它们&#xff1a; 任务由经理分配给员工。 一项任务可以分配给许多员工。 员工将他在某些任务上工作的小时数填满至系统。 经理/员工查看时间表上的报告&#xff08;时…

如何把很多照片拼成一张照片_一张现场照片引发的中韩之争

来源&#xff1a;渤海新水手聊船专栏前几天&#xff0c;微信群里(造船质量技术高级交流群)一位网友发了一张韩国船厂的现场照片&#xff0c;没想到瞬间引发全群几十位网友的热烈讨论&#xff0c;中韩之争就此上演&#xff01;照片反映出的是国内船厂很难做到的部分——分段预装…

计算机文档设置,电脑这样设置快速的共享文件、分享文档!

原标题&#xff1a;电脑这样设置快速的共享文件、分享文档&#xff01;在日常办公的时候&#xff0c;有时需要共同使用一些文件或者文档或者一些视频资料。那么要怎么方便的使用这些共同的资源呢&#xff1f;当然这时大家可能会说可以用QQ、微信传给对方不就可以了。但是如果文…