【问题标题】:CDI Producer(s) Different Versions of same classCDI Producer(s) 同一类的不同版本
【发布时间】:2013-04-30 21:48:30
【问题描述】:

我有一个生成 SimpleDateFromat 对象的 JEE6 简单生产者类:

public class myProducer {

    @Produces public SimpleDateFormat produceASimpleDateFormat(final InjectionPoint injectionPoint)
    {
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    }
}

我想要:

  1. 创建一个新的生产者,并且能够以某种方式在类中指定 DateFormat 被注入的位置或...
  2. 编辑我现有的 Producer 以根据传递的参数生成不同的 SimpleDateFormat。

我应该如何最好地实现它?

【问题讨论】:

    标签: java-ee-6 cdi jboss-weld weld


    【解决方案1】:

    听起来像是限定词的用途。

    你可以

    @Produces
    @TypeA
    public SimpleDateFormat produceTypeAFormat() {
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    }
    
    @Produces
    @TypeB
    public SimpleDateFormat produceTypeBFormat() {
        return new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
    }
    

    或者在您读取注入点以读取带有内容的限定符时更动态的东西,例如@Format("yyyy-MM-dd HH:mm:ss"),您可以在其中读取注入点上的限定符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-22
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      • 2014-07-05
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多