Issue Details (XML | Word | Printable)

Key: MULE-973
Type: Bug Bug
Status: Open Open
Priority: Minor Minor
Assignee: Unassigned
Reporter: Ross Mason
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Mule

Can't use TemplateEndpointRouter with SpringConfigurationBuilder

Created: 16/Aug/06 07:11 AM   Updated: 04/Mar/07 04:14 PM
Component/s: Core: Routing / Filters
Affects Version/s: 1.3-rc4
Fix Version/s: None

Time Tracking:
Not Specified

Issue Links:
Related
 

Labels:
Log Output:
Root Exception stack trace:
java.net.URISyntaxException: Illegal character in hostname at index 23: jdbc://writeLegacyQueue[country]
at java.net.URI$Parser.fail(URI.java:2816)
at java.net.URI$Parser.parseHostname(URI.java:3355)
at java.net.URI$Parser.parseServer(URI.java:3204)
at java.net.URI$Parser.parseAuthority(URI.java:3123)
at java.net.URI$Parser.parseHierarchical(URI.java:3065)
at java.net.URI$Parser.parse(URI.java:3021)
at java.net.URI.<init>(URI.java:578)
at org.mule.impl.endpoint.MuleEndpointURI.<init>(MuleEndpointURI.java:147)
at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:82)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:78)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:156)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:548)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:352)
at org.springframework.beans.factory.support.MuleBeanDefinitionValueResolver.resolveInnerBeanDefinition(MuleBeanDefinitionValueResolver.java:164)
at org.springframework.beans.factory.support.MuleBeanDefinitionValueResolver.resolveValueIfNecessary(MuleBeanDefinitionValueResolver.java:94)
at org.mule.extras.spring.config.MuleBeanFactory.applyPropertyValues(MuleBeanFactory.java:80)
at org.mule.extras.spring.config.MuleBeanFactory.populateBean(MuleBeanFactory.java:158)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:392)
at org.springframework.beans.factory.support.MuleBeanDefinitionValueResolver.resolveInnerBeanDefinition(MuleBeanDefinitionValueResolver.java:164)
at org.springframework.beans.factory.support.MuleBeanDefinitionValueResolver.resolveValueIfNecessary(MuleBeanDefinitionValueResolver.java:94)
at org.springframework.beans.factory.support.MuleBeanDefinitionValueResolver.resolveManagedList(MuleBeanDefinitionValueResolver.java:231)
at org.springframework.beans.factory.support.MuleBeanDefinitionValueResolver.resolveValueIfNecessary(MuleBeanDefinitionValueResolver.java:107)
at org.mule.extras.spring.config.MuleBeanFactory.applyPropertyValues(MuleBeanFactory.java:80)
at org.mule.extras.spring.config.MuleBeanFactory.populateBean(MuleBeanFactory.java:158)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:392)
at org.springframework.beans.factory.support.MuleBeanDefinitionValueResolver.resolveInnerBeanDefinition(MuleBeanDefinitionValueResolver.java:164)
at org.springframework.beans.factory.support.MuleBeanDefinitionValueResolver.resolveValueIfNecessary(MuleBeanDefinitionValueResolver.java:94)
at org.springframework.beans.factory.support.MuleBeanDefinitionValueResolver.resolveManagedList(MuleBeanDefinitionValueResolver.java:231)
at org.springframework.beans.factory.support.MuleBeanDefinitionValueResolver.resolveValueIfNecessary(MuleBeanDefinitionValueResolver.java:107)
at org.mule.extras.spring.config.MuleBeanFactory.applyPropertyValues(MuleBeanFactory.java:80)
at org.mule.extras.spring.config.MuleBeanFactory.populateBean(MuleBeanFactory.java:158)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:392)
at org.springframework.beans.factory.support.MuleBeanDefinitionValueResolver.resolveInnerBeanDefinition(MuleBeanDefinitionValueResolver.java:164)
at org.springframework.beans.factory.support.MuleBeanDefinitionValueResolver.resolveValueIfNecessary(MuleBeanDefinitionValueResolver.java:94)
at org.mule.extras.spring.config.MuleBeanFactory.applyPropertyValues(MuleBeanFactory.java:80)
at org.mule.extras.spring.config.MuleBeanFactory.populateBean(MuleBeanFactory.java:158)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:392)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:240)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:132)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:237)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:153)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:199)
at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:667)
at org.mule.extras.spring.config.AutowireUMOManagerFactoryBean.setApplicationContext(AutowireUMOManagerFactoryBean.java:173)
at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:86)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:268)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:871)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:396)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:240)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:132)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:237)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:153)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:248)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:337)
at org.mule.extras.spring.config.MuleApplicationContext.<init>(MuleApplicationContext.java:50)
at org.mule.extras.spring.config.MuleApplicationContext.<init>(MuleApplicationContext.java:43)
at org.mule.extras.spring.config.SpringConfigurationBuilder.configure(SpringConfigurationBuilder.java:82)


 Description  « Hide
The SpringConfigurationBuilder throws a java.net.URISyntaxException when trying to read an endpoint with square brackets, e.g. "jdbc://writeLegacyQueue[country]"

 All   Comments   Work Log   Change History   Transitions   FishEye      Sort Order: Ascending order - Click to sort in descending order
Andrew Perepelytsya added a comment - 16/Aug/06 10:44 AM
Travis,

I recently dealt with a number of template-related tasks, and came to conclusion this kind of error is thrown for templated endpoints having templates in non-query part of the URI.

The problem is schema/host/port format is fixed in URI spec, but query parameters are mostly free-form. This results in the URI exception above if the template is put in those sections of the URI, but works fine for query parameters (after ? mark).

Could you please recheck the issue considering the above mentioned info? Templating all of the URI is tricky, and currently I know of only Atom protocol having something like this, but more complex (or it's in progress). Maybe, the new submission of the Dynamic provider can address the issue.