【问题标题】:Hazelcast - ClassC榛树-C级
【发布时间】:2015-02-13 06:40:42
【问题描述】:

我正在尝试在 Wildfly 8.2 上使用 Hazelcast。我举了一个简单的例子,但我得到了:

原因:java.lang.ClassCastException:com.hazelcast.jca.HazelcastConnectionImpl 无法转换为 com.hazelcast.jca.HazelcastConnection

来自

private HazelcastConnection getConnection() {
    try {
        return  (HazelcastConnection)connectionFactory.getConnection();
    } catch (ResourceException e) {
        throw new RuntimeException("Error while getting Hazelcast connection", e);
    }
}

在我的 pom.xml 中有

     <dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast</artifactId>
        <version>3.4</version>
    </dependency>

    <dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast-jca</artifactId>
        <version>3.4</version>
    </dependency>

    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
        <version>2.0.0</version>
        <scope>provided</scope>
    </dependency>

任何帮助将不胜感激

【问题讨论】:

  • 听起来你在容器级别也有 hazelcast-jca,因为看起来你最终不得不使用不同的类加载器(我的猜测),因此你不能投射实现 HazelcastConnection[cl1] 的 HazelcastConnectionImpl[cl1]到 HazelcastConnection[cl2] 接口。
  • 我假设您已将 Hazelcast 资源适配器部署到 WildFly 中?它是作为一个模块部署的吗?如果是这样,请尝试在您的 pom.xml 中将 Hazelcast 依赖项定义为“已提供”+您的应用程序应声明对 Hazelcast 模块的依赖项。
  • 一开始是我提供的,但后来我得到了 ClassNotFound,然后我试图删除它。看起来它在部署时无法找到模块中的 jar,但在运行时都找到了 - 只是再次尝试提供 - 我得到 java.lang.NoClassDefFoundError: com/hazelcast/jca/HazelcastConnection
  • 我确实喜欢这个 docs.hazelcast.org/docs/latest/manual/html/… ,但必须将 添加到 module.xml能够部署 rar 文件
  • 通过保持为 hazelcast 依赖项提供的范围并在 WEB-INF 中的 jboss-deployment-structure.xml 中添加 hazelcast 模块的依赖项,使其工作

标签: java classcastexception hazelcast


【解决方案1】:

删除所有 hazelcast 依赖并添加到 pom 文件中

<dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast-all</artifactId>
        <version>3.4.2</version>
</dependency>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 2017-12-20
    相关资源
    最近更新 更多