Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Won't Fix
-
None
-
None
-
None
-
None
Description
When using the amq namespace to configure an embedded brokers in Spring [1] the ActiveMQ XSD disallows using property placeholders [2] for numeric parameters.
By introducing the following custom types in the ActiveMQ XSD and using them instead of xs:boolean, xs:float, xs:long, and xs:integer one would be able to use property placeholders for these type of configuration parameters.
<xs:simpleType name="placeholderPropertyBooleanValue">
<xs:union memberTypes="xs:boolean tns:placeholderPropertyValue"/>
</xs:simpleType>
<xs:simpleType name="placeholderPropertyFloatValue">
<xs:union memberTypes="xs:float tns:placeholderPropertyValue"/>
</xs:simpleType>
<xs:simpleType name="placeholderPropertyLongValue">
<xs:union memberTypes="xs:long tns:placeholderPropertyValue"/>
</xs:simpleType>
<xs:simpleType name="placeholderPropertyIntegerValue">
<xs:union memberTypes="xs:integer tns:placeholderPropertyValue"/>
</xs:simpleType>
<xs:simpleType name="placeholderPropertyValue">
<xs:restriction base="xs:string">
<xs:pattern value="[$#]({.}|(.)|[.*])"/>
</xs:restriction>
</xs:simpleType>
[1] http://activemq.apache.org/spring-support.html#SpringSupport-UsingSpring2.0
[2] http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-placeholderconfigurer