I know that the JMS headers properties are case sensitive. But I am working on one requirement where I have to make JMS selctor to not case sensitive. Is it possible to do so? I am using camel and below is the way I am defining my selector in properties file.
accountQueue = ActiveMQqueueJmsComponent:queue:account?selector=money <> ('Dollar')
Camel route :
@Value("${consumer.accountQueue}")
private String accountQueue;
@Bean
RouteBuilder accountRouteBuilder() {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
from(accountQueue).to(OrderService)
}
}
}
I tried to use function like UPPER and LOWER but not able to get success. I am defing like below.
accountQueue = ActiveMQqueueJmsComponent:queue:account?selector=money <> UPPER('Dollar') // not working
Have a look at the function calls in selector enhancement that was added to ActiveMQ in this JIRA issue. Using this enhancement you might be able to craft something that fits your needs.
This enhancement allow for some custom function calls to be made with a few built in functions as follows: