【问题标题】:Configuring Infinispan CacheProvider in Seam 2.3在 Seam 2.3 中配置 Infinispan CacheProvider
【发布时间】:2013-01-08 15:10:45
【问题描述】:

我正在尝试迁移我的 Seam 2.3 应用程序以使用 Infinispan 在 JBoss AS7 中进行缓存。我查看了 Seam 2.3 发行版中的博客示例,并将 jGroupsConfig.xml 和 infinispan.xml 文件复制到我的 Web 应用程序的源路径中,并修改了我的 components.xml 以指定适当的缓存提供程序。但是,当我运行这样的事情时......

public class MyClass {

...

@In
CacheProvider cacheProvider;

...

public void myMethod() {
this.cacheProvider.get("abcd");
}

...

}

...我收到一条错误消息,提示无法启动 Infinispan 缓存。除了看起来是解析器报告 IOException 之外,没有其他错误。我看到的是:

com.ctc.wstx.exc.WstxIOException:  Stream closed

我已经启动了日志记录,但仍然没有看到任何有用的信息。为了让 Infinispan 缓存在我的应用程序中工作,我还需要做些什么吗?我需要在 JBoss AS7 控制台中手动创建任何东西吗?我的缓存配置文件位于我的 Web 项目的源目录中。那是正确的位置吗?

【问题讨论】:

  • 我想这很明显,但我会说:如果你还没有,你可以在forums 中提问。如果问题尚未在issue tracker 中提供,您可以在issue tracker 中提交项目。

标签: java jboss seam infinispan


【解决方案1】:

我遇到了同样的问题:com.ctc.wstx.exc.WstxIOException: Stream closed

但我在我的项目中使用 Maven 3.2、JBoss WildFly 8.2(带有嵌入式 Infinispan Cache v7.1.1.Final)、Axis2。 由于我使用的是 Axis2,并且可以确定错误来自 Axis2 使用的 WoodStox(具体为 wstx-asl.3.2.8.jar),我最初认为这是因为 Axis2、WildFly 的一些依赖性问题和 Maven。

但是经过大量研究,我从完整的堆栈跟踪中发现根本原因是 java.io.IOException 而不是我收到的“com.ctc.wstx.exc.WstxIOException: Stream closed”错误消息(WAR已成功部署,但未设置缓存)。查看 wstx-asl.jar 的源代码,发现它接收的 BufferedInputReader 为 null。该提示和 Shadowman 的上述回答提示我在初始化缓存时检查 Infinispan CacheManager 是否正确获取配置文件。

它没有在我的类路径中获取 Infinispan 配置文件存在问题,因此必须将其放在 /WEB-INF/infinispan.xml 中并且它有效!

因此,尽管我们收到的错误是针对 WoodStox,但请检查您的程序是否正确找到了 Infinispan 缓存配置文件(或任何其他文件)(无论是作为资源还是物理路径)。

希望这可以帮助其他遇到类似问题的人。

【讨论】:

    【解决方案2】:

    对于遇到此问题的其他人,我终于准备好了所有必要的部分。这是我必须做的......

    1. 不要在 JBoss 部署结构文件中声明 Infinispan 模块。相反,请使用 Seam 2.3 发行版中的 JAR

    2. WstxIOException 本身是因为它无法找到我的 infinispan.xml 配置文件。将它放在 Java 源目录中,使其成为类路径的直接部分,而不是在 META-INF 或 WEB-INF 目录中(除非您在 components.xml 文件中声明它)

    3. 确保您的 EAR 中拥有来自 Seam 2.3 发行版的所有 XML 解析 JAR(stax 等)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-21
      • 2013-04-07
      • 2015-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多