Я настраиваю файл hazelcast.xml для своего проекта.У меня есть два профиля, определенные в pom.xml, и оба должны быть по-разному.Я объявил свойство в pom как и в каждом профиле я устанавливаю его равным 1 (prof1) или 2 (profile2).В файле hazelcast.xml, когда я пытаюсь получить доступ к этой переменной с помощью 3 $ {myId} 4, в среде IDE отображается ошибка, поскольку в файле hazelcast-config-2.1.xsd
* 1002 для mulitcast-port задано только значение int.* Так как многоадресный порт определен с ограничением и основанием как «xs: int», доступ к $ {myId} не является строкой.
<!-- pom.xml -->
<profiles>
<profile>
<id>testProfile1</id>
<properties>
<myId>1</myId>
</properties>
</profile>
<profile>
<id>testProfile2</id>
<properties>
<myId>2</myId>
</properties>
</profile>
</profiles>
<!--hazelcast.xml-->
<network>
<port auto-increment="true">5701</port>
<join>
<multicast enabled="true">
<multicast-group>someGroup${myId}</multicast-group>
<multicast-port>3${myId}4</multicast-port>
</multicast>
<tcp-ip enabled="false">
<member>localhost</member>
</tcp-ip>
</join>
<socket-interceptor enabled="false" />
</network>
Я пытаюсь получить значение порта многоадресной рассылки для 314 для профиля 1 и 324 для профиля 2
Журналы Tomcat:
Caused by: java.lang.NumberFormatException: For input string: "3${myId}4"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at com.hazelcast.config.XmlConfigBuilder.handleMulticast(XmlConfigBuilder.java:489)
at com.hazelcast.config.XmlConfigBuilder.handleJoin(XmlConfigBuilder.java:435)
at com.hazelcast.config.XmlConfigBuilder.handleNetwork(XmlConfigBuilder.java:266)
at com.hazelcast.config.XmlConfigBuilder.handleConfig(XmlConfigBuilder.java:188)
at com.hazelcast.config.XmlConfigBuilder.parse(XmlConfigBuilder.java:181)
at com.hazelcast.config.XmlConfigBuilder.build(XmlConfigBuilder.java:135)