Tauruser

JSF will hibernate in spring.

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  24 随笔 :: 2 文章 :: 19 评论 :: 0 Trackbacks

#

把mgscl更名为mgsclp后,文哥就跟我说项目在他的Eclipse里Run不起来了。抛出以下异常。

严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 
'dataSource' defined in class path resource [applicationContext-resources.xml]: Circular placeholder reference 'jdbc.driverClassName' in property definitions
    at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:
268)
    at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:
75)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:
554)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:
528)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:
363)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:
255)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:
199)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:
45)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:
3843)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:
4342)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
1045)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:
719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:
443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:
516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:
710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:
578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
    at java.lang.reflect.Method.invoke(Method.java:
597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:
288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:
413)

这个问题在之前bsdts里也遇到过,主要是因为在appfuse生成的项目里配置文件jdbc.properties里都使用了占位符 placeholder,如果项目需要正常在Eclipse的Tomcat里Run里来,这个文件的占位符应该正确的给Replace掉。出现上面的异常 主要就是占位符没有被正确的Replace掉。好了,既然原因找到了,我们下面来看下如何解决。
在Bsdts里面遇到这个问题的时候,我们经常是重新在Console下面运行mvn package 或者mvn install后,再重新Deploy就可以了。但是实践证明在mgsclp里面是行不通的。这是为什么呢?
经过查看mgsclp里的Target里的jdbc.properties文件,发现其已经给正确Replace掉了。只是没有正确地给Eclipse Deploy到tomcat里。
根据上面,我初步确定是Eclipse配置的问题。
我们现在知道的情况有哪些呢?
一是maven是会把placeholder自动replace的.这个我们可以通过查看Target/classes目录下面的jdbc.properties文件可以看到,经过maven处理后的placeholder是给正确replace了.
2.在Eclipse里面部署过后的jdbc.properties文件的plackholder没有被replace掉.

Solution:
我们的jdbc.properties文件就是位于src/main/resources目录下面的.我们可以看到Excluded里面已经有很多 properties给Excluced了.这是i18n的文件,同样也是需要maven进行编码处理的,而jdbc.properties文件是要进行 replace plackholder处理.本质上是一样的.这里把文件加进去后,eclipse也不会进行处理的.所以,我们需要把jdbc.properties文 件同样加入excluded里面.我们不需要Eclipse对这些文件进行处理.maven处理就行了.这样子,Eclipse 就不会把maven处理的结果用原来的版本覆盖了.

好,现在说回到部署问题.我们的War工程在maven里,只要把target/classes里的东西与src/webapp里面的东西放到 Tomcat就行了.这次相关的配置文件有org.eclipse.wst.common.component. Eclipse是如何知道哪些内容需要部置到Tomcat就是在这个文件里面定义的.关键的节点就是<wb-resource>.由前面所说 我们需要的内容只有两个target/classes,src/webapp.所以实际上我们只要把这两个目录上面的东西放到正确的部署位置就行了.其它 内容都是多余的.于是我只保留下面两个内容
<wb-resource deploy-path="/" source-path="src/main/webapp"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="target/classes"/>
这里的部署,只是把这里指定的目录Copy过去而已不做任务处理,(从我目前观察的情况是这样子的).
我们之前为什么不会呢,就是因为有很多个这样的节点.有些节点会引用没有处理过的文件.Eclipse再一次把没有处理过的文件盖掉处理过的文件,就出现的我们刚开始的时候的问题了.

好了,今天就到这里。

posted @ 2008-09-11 23:06 Tauruser 阅读(3058) | 评论 (0)编辑 收藏

Last night, I got the book Pragmatic Software Testing-Becoming an Effective and Efficient Test Professional from www.freebookspot.com. I am instrest in the title.
Recently, most development team try to use the agile process in the development. And most of them are test driven. I also have done many effort to the test. But I still can't do the job well. I hope this book will give me a new vision on the software testing. This page will record my reading note. As you know I can't have the book finished in a short time, so this page will keep updating. Thanks for your reading, If you have any questions and suggestions, plz give a comment.

Book Structure

The book was divide into 6 parts, as follow.

Part I - Goals, Strategies, and Tactics

Part II - Risk-Based Testing

Part III - Static Testing

Part IV - Behavioral Testing

Part V - Structural Testing

Part VI - Appendices

Reading note

Part I
Obvious Quesions will be ask, but in many time there is not obvious answer to them. What is effective software testing? What is efficient software testing? What is software testing, anyway? What is quality?
The answer is important, bacause Your answers to these questions determine what you expect to do as a tester. Other people’s answers to these questions determine what they expect you to do as a tester. Having common expectations up, down, and across the organizational chart and throughout the project team is essential to success. Without such commonality, no matter what you do, someone’s sure to be disappointed. With common expectations, you can all strive for the same goals, and support others in their endeavors.

Effective as “producing a decided, decisive, or desired result; impressive.”
Efficient as “productive of the desired effect; especially to be productive without waste.”

Should look at test effectiveness and efficiency from the project perspective, not the test subproject perspective.
posted @ 2008-09-05 11:01 Tauruser 阅读(371) | 评论 (0)编辑 收藏

昨天,IBM在南校区信科A讲学厅举行了关于这次SOA大赛的宣讲会。我们在东校区一行四人早早就出发了,在信科A会合Tomara后,到了讲学厅,这次 宣讲会到场的人并不多,佑大个讲学厅就只有大概二十多人到场,这是出乎我意料之外的。宣讲会持续了一个半小时,从19:00开始到20:30结束,这次宣 讲会总体上来,我感觉不错,让我更加了解了此次比赛的一个目的与比赛过程中要注意的地方。本来昨天晚上就想动手写这文章,由于人懒,拖到了现在。

从这次宣讲会上来看,我的理解主要有两点,一是关注的是参赛团队对所选问题领域的业务流程理解,优化;二是关注参赛团队对于IBM提供的整套工具的使用程度。下面我将分别就两方面谈一下我的想法。

一、关注参赛团队对所选问题领域的业务流程理解与优化。这一点要求团队能够对企业现有流程进行建模,发现模型在企业真正营运当中遇到的问题,何处是流程的瓶颈所在。并针对这些问题与瓶颈所在的地方进行流程重构,优化现有的流程。为了在实施前就能够知道优化后的流程是否比现有的流程真正的了改善的地方,需要对流程进行模拟。模拟之后,我们可以基于模型的一系列运行指标(KPI)来比较流程的运行情况。根据模拟的情况可以再对流程进行修改,直到得出一个比较合理的结果。

在这一部份当中,个人觉得最重要的是对业务流程的理解,找出问题所在,并能灵活的对其进行调整,以改善企业运营情况。

二、关注对IBM提供的整套工具的使用。本次比赛IBM可以说是做到了多赢。一方面提供了一个很好的机会让在校大学生参与企业的流程整合工作;一方面为企业提供了一个机会让一批有专业知识的专家与学生为他们现在流程进行义诊,提出改进方案;一方面宣传与推广了IBM这一套工具,可以说是在市场上一次很好的推广宣传。所以,在这次比赛中,一个重要的,对方案评价的标准就是对IBM工具的使用。是否对工具有一个很好的正体把握,是否充分利用的工具提供给我们的功能。宣讲当中,李师兄也特别提到了对于规则引擎的灵活运用。通过这点做到,当业务规则变化的时候,普通业务人员就可以通过规则引擎的配置做到快速应用新的规则到业务系统,灵活应对业务需求的变更。而不需要开发人员针对变更的需要重新去更改源码来适应这样的变更。

 

总的来说,此次比赛给我的感觉要特别注意这两点。对问题领域业务流程整合的深入理解,找出问题,提出优化解决方案。有了解决方案后,再使用IBM提供的参赛工具对优化方案进行实现。这个实现要求我们对工具有非常深入的了解,能够灵活应用现有功能实现开发部署。当然,我们的解决方案也要考虑除业务外的其它内容。如是否能灵活适应业务的快速变更。实施变更,是否对现有业务有影响。变更是否能够在不停止现有服务的情况下得到部署,即热部署。等等一系列,我们在下面比赛过程中要深入讨论研究的问题。

浅谈至此,希望大家指点批评。

By Tauruser 2008-5-15


posted @ 2008-05-15 10:45 Tauruser 阅读(273) | 评论 (1)编辑 收藏

今天真是一个好日子,奥运圣火在广州传递,我们Sparkle团队Blog正式开通,今天下午团队五位成员将在南校区第一次正式会面。当然恰逢奥运圣火经过南校,我们还是会去感受一下中国百年奥运梦的盛况。我们先来看一下上午奥运圣火在广州传递的情况吧。


posted @ 2008-05-07 11:43 Tauruser 阅读(251) | 评论 (2)编辑 收藏

     摘要: 在Sas IntrNet  Module很多功能都是需要用到CGI(Common Gateway Interface)进行工作。在使用CGI进行工作时候,我们首先要进行CGI服务器的配置。一般情况下可以直接使用Apache来架设CGI服务器。由于我们后期的一些应用可能是在JEE平台上进行开发,所以在一个可以运行Web Container的Server 上架设CGI服务是有必要的。本文将介绍如何在Tomcat下配置CGI服务。  阅读全文
posted @ 2007-09-06 10:40 Tauruser 阅读(7958) | 评论 (3)编辑 收藏

     摘要: 最近试着用一下了MyEclipse发现MyEclipse果然比较好用,于是想把以前在Eclipse下的项目转移到MyEclipse下继续开发。在转移的过程中出现了一些问题,解决了,写此文记之。  阅读全文
posted @ 2007-03-10 18:33 Tauruser 阅读(6425) | 评论 (7)编辑 收藏

     摘要: ENIAC simulation是什么?ENIAC是什么你不会忘记了吧,世界上的第一台数字计算机啊。去年是ENIAC诞辰60周年。为了庆祝ENIAC60周年ENIAC Museum Online特别制作了一个ENIAC的模拟器。  阅读全文
posted @ 2007-03-01 22:38 Tauruser 阅读(2082) | 评论 (0)编辑 收藏

     摘要: 自定义Hibernate的Dialect成功拿到数据库里的Decimal类型。  阅读全文
posted @ 2007-01-31 11:22 Tauruser 阅读(2811) | 评论 (1)编辑 收藏

     摘要: 从去年7月份开始参加 Sysu_SF 的培训,到如今已经有差不多半年的时间了。这半年以来,辛苦是没得说了,但同时也收获了不少。其中有专业知识上的收获,软件工程管理方面的收获,更重要的收获是结识到了许多有技术,有理想的同学,并与他们建立了深厚的友谊和合作。回首这半年时间,有许多东西可以总结,有许多东西可以说。下面就简单谈一下,我在这半年时间以来的感想。   阅读全文
posted @ 2007-01-28 10:43 Tauruser 阅读(435) | 评论 (1)编辑 收藏

     摘要: 几道有一定挑战性的Sql题目。  阅读全文
posted @ 2007-01-25 19:32 Tauruser 阅读(341) | 评论 (0)编辑 收藏

仅列出标题
共3页: 上一页 1 2 3 下一页