解惑

解己之惑,解人之惑

标签:Annotation

性能测试

上周基于JUnit写了个简单的性能测试框架,其实就是用了下Annotation,发现还是很好用的。

/**
 * Performance test annotation.
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface PerformanceTest
{
    public String name() default "";
    public int times();
    public boolean stopOnError() default false;
}

阅读全文

Class has two properties of the same name

开发Web Service并不是很难,但是没有好的例子,网上的一些例子都过于简单,做一个DEMO样的可以跑起来的Web Service确实不难,但是要开发一个真正实用的还是需要花些功夫的。
这个是最近遇到的一个问题,原因就是那些需要Model的Annotation使用不当,在类上面使用了XmlAccessType,然后在getter上也使用了XmlElement,在使用stub的方式作为客户端的时候没有问题,但是使用JAX-WS的方式调用的时候就出现标题中的错误。
这个问题解决后,调用没有问题,也能返回一个对象,但是对象的所有属性全部为null,需要继续解决。
到目前位置,已经使用了下面的Client方式,或多或少存在问题,只有使用stub的方式最好(根据wsdl生成代码)

  • JaxWsProxyFactoryBean,调用成功,但是返回对象为空,和直接的JAX-WS一样
  • ClientProxyFactoryBean,调用失败,Service的方法的名称加了Annotation定义,但是从生成的SOAP信息看,是使用的arg0,arg1这样的形式,所以到Server端以后参数都为null,调用失败
  • 直接JAX-WS(javax.xml.ws.Service),和第一个一样

Annotation的一个很好的用处

加入另外一个项目获得的最大的好处就是这个了,他们定义了一些Annotation,然后定义一些Finder接口,接口里面只定义方法,但是不用实现,使用Dynamic Proxy实现接口实现方法参数和Query中的参数自动绑定,赞一个。这样写Hibernate的Query就很简单了,只需要定义基本的东西就行了。

© 2024 解惑

本主题由Anders Noren提供向上 ↑