You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by fredrick255 <fu...@hotmail.com> on 2008/07/25 00:32:33 UTC
Trouble configuring attribute for LDAPAuthorizationMap
I'm trying to set the queueSearchMessageFormat and topicSearchMessageFormat
but when I have these properties I get a spring error to the tune of:
Caused by: org.springframework.beans.TypeMismatchException: Failed to
convert property value of type [java.lang.String] to required type
[java.text.MessageFormat] for property 'queueSearchMatchingFormat'; nested
exception is java.lang.IllegalArgumentException: Cannot convert value of
type [java.lang.String] to requiredtype [java.text.MessageFormat] for
property 'queueSearchMatchingFormat': no matching editors or conversion
strategy found
I do not understand where MessageFormat is coming from. I do not see this
anywhere in the activemq-core.xsd. It is used in the LDAPAuthorizationMap
class but judging from the constructor this conversion is not a problem as
the MessageFormat member variables are initialized with strings.
topicSearchMatchingFormat = new
MessageFormat("uid={0},ou=topics,ou=destinations,o=ActiveMQ,dc=example,dc=com");
queueSearchMatchingFormat = new
MessageFormat("uid={0},ou=queues,ou=destinations,o=ActiveMQ,dc=example,dc=com");
If I run the broker without the SeachMessageFormat I can see authorization
failing due to the fact it is searching in these default locations.
I thought it was odd that the messageFormat properties are defined as both a
<spring:bean/> element and an attribute in the XSD for LDAPAuthorizationMap.
I tried removing the element definition and pointing to the modified XSD in
the xsi:schemaLocation but I still received the same error.
Any ideas?
Thanks,
Fredrick
--
View this message in context: http://www.nabble.com/Trouble-configuring-attribute-for-LDAPAuthorizationMap-tp18641870p18641870.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: Trouble configuring attribute for LDAPAuthorizationMap
Posted by Joe Fernandez <jo...@ttmsolutions.com>.
I am no Spring guru, but it appears to me that MessageFormat is treated as a
complex type and thus needs a custom property editor?
http://static.springframework.org/spring/docs/2.0.x/reference/validation.html
Anyway, I think you can work around the problem as follows
<beans>
<!-- Allows us to use system properties as variables in this configuration
file -->
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
<!-- <broker brokerName="broker0" xmlns="http://activemq.org/config/1.0">
-->
<broker brokerName="broker0" xmlns="http://activemq.org/config/1.0">
...
<plugins>
<jaasAuthenticationPlugin configuration="LdapConfiguration"/>
<authorizationPlugin>
<map>
<bean xmlns="http://www.springframework.org/schema/beans"
id="lDAPAuthorizationMap"
class="org.apache.activemq.security.LDAPAuthorizationMap">
...
<property name="queueSearchMatchingFormat"
ref="myQSearchMatchingFormat"/>
...
</bean>
</map>
</authorizationPlugin>
</plugins>
...
</broker>
<bean xmlns="http://www.springframework.org/schema/beans"
id="myQSearchMatchingFormat" class="java.text.MessageFormat">
<constructor-arg
value="cn={0},ou=Queue,ou=Destination,ou=amq,ou=systems,dc=foo,dc=com"/>
</bean>
</beans>
Joe
http://www.ttmsolutions.com
fredrick255 wrote:
>
> I'm trying to set the queueSearchMessageFormat and
> topicSearchMessageFormat but when I have these properties I get a spring
> error to the tune of:
>
> Caused by: org.springframework.beans.TypeMismatchException: Failed to
> convert property value of type [java.lang.String] to required type
> [java.text.MessageFormat] for property 'queueSearchMatchingFormat'; nested
> exception is java.lang.IllegalArgumentException: Cannot convert value of
> type [java.lang.String] to requiredtype [java.text.MessageFormat] for
> property 'queueSearchMatchingFormat': no matching editors or conversion
> strategy found
>
> I do not understand where MessageFormat is coming from. I do not see this
> anywhere in the activemq-core.xsd. It is used in the LDAPAuthorizationMap
> class but judging from the constructor this conversion is not a problem as
> the MessageFormat member variables are initialized with strings.
>
> topicSearchMatchingFormat = new
> MessageFormat("uid={0},ou=topics,ou=destinations,o=ActiveMQ,dc=example,dc=com");
> queueSearchMatchingFormat = new
> MessageFormat("uid={0},ou=queues,ou=destinations,o=ActiveMQ,dc=example,dc=com");
>
> If I run the broker without the SeachMessageFormat I can see authorization
> failing due to the fact it is searching in these default locations.
>
> I thought it was odd that the messageFormat properties are defined as both
> a <spring:bean/> element and an attribute in the XSD for
> LDAPAuthorizationMap. I tried removing the element definition and pointing
> to the modified XSD in the xsi:schemaLocation but I still received the
> same error.
>
> Any ideas?
>
>
> Thanks,
> Fredrick
>
--
View this message in context: http://www.nabble.com/Trouble-configuring-attribute-for-LDAPAuthorizationMap-tp18641870p18653938.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.