【问题标题】:From Seam 3 to Apache DeltaSpike (seam-beans.xml)从 Seam 3 到 Apache DeltaSpike (seam-beans.xml)
【发布时间】:2014-02-23 21:32:03
【问题描述】:

我正在从 Seam 3 迁移到 WildFly 8 (Java EE 7) 上的 DeltaSpike。 Seam 的 seam-beans.xml 的等效 DeltaSpike 文件是什么?你能告诉我更多信息吗?

编辑:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:j="urn:java:ee" xmlns:s="urn:java:seam:core" xmlns:c="urn:java:xxx.xxxxxxxxx.core.model">

    <c:Configuration>
        <j:modifies />
        <c:tradingEnabled>false</c:tradingEnabled>
        <c:defaultCurrency>USD</c:defaultCurrency>
        <c:defaultPeriodLength>300000</c:defaultPeriodLength>
        <c:updateTime>5</c:updateTime>
    </c:Configuration>
    ....

这就是我对 seam-beans.xml 所做的,它在 beans.xml 中对我不起作用(没有注入值)。

谢谢

【问题讨论】:

  • 取决于里面有什么。 EE7 已将beans.xml 设为可选。就 CDI 而言,您部署的每个战争/耳朵都是一个 bean 存档。
  • seam-beans.xml != beans.xml
  • 嗯,是的。你问的是CDI中的等价物。我只是说等价于beans.xml,它在很大程度上是可选的。
  • 嗨,mabi,是的,你完全正确。但我要的是与 seam-beans.xml 等效的 DeltaSpike 文件,而 DeltaSpike 不是 CDI。
  • 是的,我应该更冗长。 DeltaSpike 的首页说:“DeltaSpike 由许多便携式 CDI 扩展组成”。它实际上只是 CDI 之上的一组类(在您的情况下为 Weld)。这可以通过beans.xml 进行配置(或者使用 Wildfly:也因为缺少它)。因此我的第一句话:如果您向我们展示您在旧文件中的内容,我们可以告诉您在您的beans.xml 中放入什么。

标签: java seam seam3 wildfly deltaspike


【解决方案1】:

您需要创建一个生产者并将这些值放在一个普通的属性文件中。看@Produces

这可能也应该被标记为 CDI,因为您使用 Seam 解决的一些问题当然是直接使用 CDI 核心而不是 Deltaspike 解决的。

这个例子会让你到达那里:Depedency inject request parameter with CDI and JSF2

您将从您的 resourceBundle 中生成,而不是从请求参数映射中生成。

我还认为 deltaspike 可能已经完成或正在开发中的功能,但编写此生产者对您来说是一个好习惯,而且无论如何它都非常小

【讨论】:

    猜你喜欢
    • 2011-07-18
    • 2012-01-04
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 2011-02-16
    • 2012-08-27
    相关资源
    最近更新 更多