0

我正在使用带有 hazelcast 的 spring 和 spring 的 PropertyPlaceholderConfigurer 来将属性插入到 spring-xml 中,这些属性会因不同的环境而变化。

例如:

hz:network port="${hazelcast.port}" port-auto-increment="true"

我想更改地图的最大空闲秒数(每个环境都应该不同)。但这不起作用,因为它不能将其识别为整数:

hz:map name="default" backup-count="2" max-size="0"
max-idle-seconds="${hazelcast.maxidleseconds}" />

当我尝试运行它时出现此异常:

Caused by: org.xml.sax.SAXParseException: cvc-datatype-valid.1.2.1: '${hazelcast.maxidleseconds}' is not a valid value for 'integer'.

PropertyPlaceholderConfigurer 可能无法插入整数。也许这是与 hazelcast.xsd 有关的问题。

也许这里有人知道解决方案?

tia && 问候 noircc

4

1 回答 1

4

编辑尽管 Hazelcast 组中提供了解决方案,但我在此处发布以供查看。

这是一个很久以前解决的老问题。升级到 2.x 版本并将 xml 配置标头更新为:

<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:hz="http://www.hazelcast.com/schema/spring"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.hazelcast.com/schema/spring
            http://www.hazelcast.com/schema/spring/hazelcast-spring-2.0.xsd">

另请查看Hazelcast-Spring 集成文档以获取详细信息。

于 2012-04-11T15:22:23.367 回答