You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-user@james.apache.org by Phil Spencer <ph...@gna.sh> on 2012/02/01 15:37:21 UTC

Composite Matcher

Hi,

I tried to create  composite matcher but I get the exception below. It seems to be looking for the "And" matcher in the class

	org.apache.james.transport.matchers.And

but a quick grep through the jar files shows the implementation to be in

	org/apache/james/mailetcontainer/impl/matchers/And

Is this a bug or have I got something misconfigured

Phil


     [exec] INFO  15:13:30,105 | james.mailprocessor | Mailet ToProcessor instantiated.
     [exec] Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mailprocessor': Invocation of init method failed; nested exception is org.apache.mailet.MailetException: Could not load matcher (And);
     [exec]   nested exception is:
     [exec] 	java.lang.ClassNotFoundException: org.apache.james.transport.matchers.And
     [exec] 	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
     [exec] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
     [exec] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413)
     [exec] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
     [exec] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
     [exec] 	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
     [exec] 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
     [exec] 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
     [exec] 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
     [exec] 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
     [exec] 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
     [exec] 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
     [exec] 	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
     [exec] 	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
     [exec] 	at org.apache.james.container.spring.context.JamesServerApplicationContext.<init>(JamesServerApplicationContext.java:39)
     [exec] 	at org.apache.james.container.spring.Main.init(Main.java:66)
     [exec] 	at org.apache.james.container.spring.Main.main(Main.java:42)
     [exec] Caused by: org.apache.mailet.MailetException: Could not load matcher (And);
     [exec]   nested exception is:
     [exec] 	java.lang.ClassNotFoundException: org.apache.james.transport.matchers.And
     [exec] 	at org.apache.james.container.spring.bean.factory.mailetcontainer.AbstractLoaderBeanFactory.loadFailed(AbstractLoaderBeanFactory.java:60)
     [exec] 	at org.apache.james.container.spring.bean.factory.mailetcontainer.MatcherLoaderBeanFactory.getMatcher(MatcherLoaderBeanFactory.java:58)
     [exec] 	at org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.loadCompositeMatchers(AbstractStateMailetProcessor.java:282)
     [exec] 	at org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.parseConfiguration(AbstractStateMailetProcessor.java:322)
     [exec] 	at org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.init(AbstractStateMailetProcessor.java:124)
     [exec] 	at org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.init(CamelMailetProcessor.java:110)
     [exec] 	at org.apache.james.mailetcontainer.impl.camel.CamelCompositeProcessor.createMailProcessor(CamelCompositeProcessor.java:111)
     [exec] 	at org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.init(AbstractStateCompositeProcessor.java:186)
     [exec] 	at org.apache.james.mailetcontainer.impl.camel.CamelCompositeProcessor.init(CamelCompositeProcessor.java:66)
     [exec] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [exec] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     [exec] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [exec] 	at java.lang.reflect.Method.invoke(Method.java:601)
     [exec] 	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:340)
     [exec] 	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293)
     [exec] 	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
     [exec] 	... 16 more
     [exec] Caused by: java.lang.ClassNotFoundException: org.apache.james.transport.matchers.And
     [exec] 	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
     [exec] 	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
     [exec] 	at java.security.AccessController.doPrivileged(Native Method)
     [exec] 	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
     [exec] 	at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
     [exec] 	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
     [exec] 	at org.apache.james.container.spring.bean.factory.mailetcontainer.AbstractLoaderBeanFactory.load(AbstractLoaderBeanFactory.java:44)
     [exec] 	at org.apache.james.container.spring.bean.factory.mailetcontainer.MatcherLoaderBeanFactory.getMatcher(MatcherLoaderBeanFactory.java:49)
     [exec] 	... 30 more
     [exec] Result: 1


Re: Composite Matcher

Posted by Phil Spencer <ph...@gna.sh>.
Thanks Norman

I guessed that would be the immediate workaround.

Will the composite matcher stuff be moved to the standard package in the future? If not, the documentation needs to be updated sometime

Phil
--
On Feb 01, 2012, at 17:25 , Norman Maurer wrote:

> You need to the full class name for the And matcher. Which is:
> 
>       org.apache.james.mailetcontainer.impl/matchers.And
> 
> Bye,
> Norman
> 
> 
> 2012/2/1 Phil Spencer <ph...@gna.sh>:
>> Hi,
>> 
>> I tried to create  composite matcher but I get the exception below. It seems to be looking for the "And" matcher in the class
>> 
>>        org.apache.james.transport.matchers.And
>> 
>> but a quick grep through the jar files shows the implementation to be in
>> 
>>        org/apache/james/mailetcontainer/impl/matchers/And
>> 
>> Is this a bug or have I got something misconfigured
>> 
>> Phil
>> 
>> 
>>     [exec] INFO  15:13:30,105 | james.mailprocessor | Mailet ToProcessor instantiated.
>>     [exec] Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mailprocessor': Invocation of init method failed; nested exception is org.apache.mailet.MailetException: Could not load matcher (And);
>>     [exec]   nested exception is:
>>     [exec]     java.lang.ClassNotFoundException: org.apache.james.transport.matchers.And
>>     [exec]     at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
>>     [exec]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
>>     [exec]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413)
>>     [exec]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
>>     [exec]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
>>     [exec]     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
>>     [exec]     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>>     [exec]     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
>>     [exec]     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
>>     [exec]     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
>>     [exec]     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
>>     [exec]     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
>>     [exec]     at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
>>     [exec]     at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
>>     [exec]     at org.apache.james.container.spring.context.JamesServerApplicationContext.<init>(JamesServerApplicationContext.java:39)
>>     [exec]     at org.apache.james.container.spring.Main.init(Main.java:66)
>>     [exec]     at org.apache.james.container.spring.Main.main(Main.java:42)
>>     [exec] Caused by: org.apache.mailet.MailetException: Could not load matcher (And);
>>     [exec]   nested exception is:
>>     [exec]     java.lang.ClassNotFoundException: org.apache.james.transport.matchers.And
>>     [exec]     at org.apache.james.container.spring.bean.factory.mailetcontainer.AbstractLoaderBeanFactory.loadFailed(AbstractLoaderBeanFactory.java:60)
>>     [exec]     at org.apache.james.container.spring.bean.factory.mailetcontainer.MatcherLoaderBeanFactory.getMatcher(MatcherLoaderBeanFactory.java:58)
>>     [exec]     at org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.loadCompositeMatchers(AbstractStateMailetProcessor.java:282)
>>     [exec]     at org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.parseConfiguration(AbstractStateMailetProcessor.java:322)
>>     [exec]     at org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.init(AbstractStateMailetProcessor.java:124)
>>     [exec]     at org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.init(CamelMailetProcessor.java:110)
>>     [exec]     at org.apache.james.mailetcontainer.impl.camel.CamelCompositeProcessor.createMailProcessor(CamelCompositeProcessor.java:111)
>>     [exec]     at org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.init(AbstractStateCompositeProcessor.java:186)
>>     [exec]     at org.apache.james.mailetcontainer.impl.camel.CamelCompositeProcessor.init(CamelCompositeProcessor.java:66)
>>     [exec]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     [exec]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>     [exec]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>     [exec]     at java.lang.reflect.Method.invoke(Method.java:601)
>>     [exec]     at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:340)
>>     [exec]     at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293)
>>     [exec]     at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
>>     [exec]     ... 16 more
>>     [exec] Caused by: java.lang.ClassNotFoundException: org.apache.james.transport.matchers.And
>>     [exec]     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>     [exec]     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>     [exec]     at java.security.AccessController.doPrivileged(Native Method)
>>     [exec]     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>     [exec]     at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
>>     [exec]     at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
>>     [exec]     at org.apache.james.container.spring.bean.factory.mailetcontainer.AbstractLoaderBeanFactory.load(AbstractLoaderBeanFactory.java:44)
>>     [exec]     at org.apache.james.container.spring.bean.factory.mailetcontainer.MatcherLoaderBeanFactory.getMatcher(MatcherLoaderBeanFactory.java:49)
>>     [exec]     ... 30 more
>>     [exec] Result: 1
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
> For additional commands, e-mail: server-user-help@james.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org


Re: Composite Matcher

Posted by Norman Maurer <no...@googlemail.com>.
You need to the full class name for the And matcher. Which is:

       org.apache.james.mailetcontainer.impl/matchers.And

Bye,
Norman


2012/2/1 Phil Spencer <ph...@gna.sh>:
> Hi,
>
> I tried to create  composite matcher but I get the exception below. It seems to be looking for the "And" matcher in the class
>
>        org.apache.james.transport.matchers.And
>
> but a quick grep through the jar files shows the implementation to be in
>
>        org/apache/james/mailetcontainer/impl/matchers/And
>
> Is this a bug or have I got something misconfigured
>
> Phil
>
>
>     [exec] INFO  15:13:30,105 | james.mailprocessor | Mailet ToProcessor instantiated.
>     [exec] Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mailprocessor': Invocation of init method failed; nested exception is org.apache.mailet.MailetException: Could not load matcher (And);
>     [exec]   nested exception is:
>     [exec]     java.lang.ClassNotFoundException: org.apache.james.transport.matchers.And
>     [exec]     at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
>     [exec]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
>     [exec]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413)
>     [exec]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
>     [exec]     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
>     [exec]     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
>     [exec]     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>     [exec]     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
>     [exec]     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
>     [exec]     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
>     [exec]     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
>     [exec]     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
>     [exec]     at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
>     [exec]     at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
>     [exec]     at org.apache.james.container.spring.context.JamesServerApplicationContext.<init>(JamesServerApplicationContext.java:39)
>     [exec]     at org.apache.james.container.spring.Main.init(Main.java:66)
>     [exec]     at org.apache.james.container.spring.Main.main(Main.java:42)
>     [exec] Caused by: org.apache.mailet.MailetException: Could not load matcher (And);
>     [exec]   nested exception is:
>     [exec]     java.lang.ClassNotFoundException: org.apache.james.transport.matchers.And
>     [exec]     at org.apache.james.container.spring.bean.factory.mailetcontainer.AbstractLoaderBeanFactory.loadFailed(AbstractLoaderBeanFactory.java:60)
>     [exec]     at org.apache.james.container.spring.bean.factory.mailetcontainer.MatcherLoaderBeanFactory.getMatcher(MatcherLoaderBeanFactory.java:58)
>     [exec]     at org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.loadCompositeMatchers(AbstractStateMailetProcessor.java:282)
>     [exec]     at org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.parseConfiguration(AbstractStateMailetProcessor.java:322)
>     [exec]     at org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.init(AbstractStateMailetProcessor.java:124)
>     [exec]     at org.apache.james.mailetcontainer.impl.camel.CamelMailetProcessor.init(CamelMailetProcessor.java:110)
>     [exec]     at org.apache.james.mailetcontainer.impl.camel.CamelCompositeProcessor.createMailProcessor(CamelCompositeProcessor.java:111)
>     [exec]     at org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.init(AbstractStateCompositeProcessor.java:186)
>     [exec]     at org.apache.james.mailetcontainer.impl.camel.CamelCompositeProcessor.init(CamelCompositeProcessor.java:66)
>     [exec]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     [exec]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>     [exec]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     [exec]     at java.lang.reflect.Method.invoke(Method.java:601)
>     [exec]     at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:340)
>     [exec]     at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293)
>     [exec]     at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
>     [exec]     ... 16 more
>     [exec] Caused by: java.lang.ClassNotFoundException: org.apache.james.transport.matchers.And
>     [exec]     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>     [exec]     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>     [exec]     at java.security.AccessController.doPrivileged(Native Method)
>     [exec]     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>     [exec]     at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
>     [exec]     at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
>     [exec]     at org.apache.james.container.spring.bean.factory.mailetcontainer.AbstractLoaderBeanFactory.load(AbstractLoaderBeanFactory.java:44)
>     [exec]     at org.apache.james.container.spring.bean.factory.mailetcontainer.MatcherLoaderBeanFactory.getMatcher(MatcherLoaderBeanFactory.java:49)
>     [exec]     ... 30 more
>     [exec] Result: 1
>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org