James Server
  1. James Server
  2. JAMES-996

Spamassassin plugin in not working in current trunk

    Details

      Description

      SpamAssassin plugin which I am trying to setup is not working properly.

      Here is what I have in my config for it(spoolmnager.xml):

      <mailet notmatch="SenderHostIsLocal" class="SpamAssassin">
      <spamdHost>localhost</spamdHost>
      <spamdPort>783</spamdPort>
      </mailet>
      <mailet match="HasMailAttributeWithValue=org.apache.james.X-Spam-Flag, yes" class="ToProcessor">
      <processor>spam</processor>
      </mailet>

      Spamassassin runs on 127.0.0.1:783

      I also can't find an entry in the logs which are saying that Spamassassin was loaded, as far as I understand I need to look for them in mailet.log

      After message get sent to spool and scanned by clamav this error comes up:

      INFO 00:21:01,412 | james.smtpserver | Successfully spooled mail Mail1271708460970-1 from max@fakeddomain1.com on 192.168.81.1 for [max@fakeddomain2.com]
      INFO 00:21:01,833 | james.mailetcontext | OK (by CLAMD on localhost/127.0.0.1)
      ERROR 00:21:01,905 | org.apache.camel.processor.DefaultErrorHandler | Failed delivery for exchangeId: ID:fakeddomain1.com-53649-1271708402328-2:0:13:1:1. Exhausted after delivery attempt: 1 caught: org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed to invoke method: null on null due to: java.lang.NullPointerException
      org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed to invoke method: null on null due to: java.lang.NullPointerException
      at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:77)
      at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:82)
      at org.apache.camel.processor.Splitter.createProcessorExchangePairs(Splitter.java:72)
      at org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:129)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
      at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
      at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
      at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
      at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.spring.spi.TransactionErrorHandler.access$001(TransactionErrorHandler.java:39)
      at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:140)
      at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
      at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
      at org.apache.camel.spring.spi.TransactionErrorHandler.doInTransactionTemplate(TransactionErrorHandler.java:130)
      at org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(TransactionErrorHandler.java:106)
      at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:84)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
      at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
      at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
      at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:66)
      at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
      at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
      at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:84)
      at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:559)
      at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)
      at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)
      at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
      at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:977)
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:969)
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:871)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: java.lang.NullPointerException
      at java.util.AbstractCollection.removeAll(AbstractCollection.java:336)
      at org.apache.mailet.base.MatcherInverter.match(MatcherInverter.java:81)
      at org.apache.james.transport.camel.MatcherSplitter.split(MatcherSplitter.java:84)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:214)
      at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:133)
      at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:137)
      at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:74)
      ... 54 more
      WARN 00:21:01,912 | org.apache.camel.spring.spi.TransactionErrorHandler | Transaction rollback (0x3aacb4) for ExchangeId: ID:fakedomain1.com-53649-1271708402328-2:0:13:1:1 due exception: Failed to invoke method: null on null due to: java.lang.NullPointerException
      ERROR 00:21:01,916 | org.apache.camel.component.jms.EndpointMessageListener | Caused by: [org.apache.camel.language.bean.RuntimeBeanExpressionException - Failed to invoke method: null on null due to: java.lang.NullPointerException]
      org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed to invoke method: null on null due to: java.lang.NullPointerException
      at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:77)
      at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:82)
      at org.apache.camel.processor.Splitter.createProcessorExchangePairs(Splitter.java:72)
      at org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:129)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
      at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
      at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
      at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
      at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.spring.spi.TransactionErrorHandler.access$001(TransactionErrorHandler.java:39)
      at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:140)
      at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
      at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
      at org.apache.camel.spring.spi.TransactionErrorHandler.doInTransactionTemplate(TransactionErrorHandler.java:130)
      at org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(TransactionErrorHandler.java:106)
      at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:84)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
      at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
      at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
      at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:66)
      at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
      at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
      at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:84)
      at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:559)
      at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)
      at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)
      at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
      at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:977)
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:969)
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:871)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: java.lang.NullPointerException
      at java.util.AbstractCollection.removeAll(AbstractCollection.java:336)
      at org.apache.mailet.base.MatcherInverter.match(MatcherInverter.java:81)
      at org.apache.james.transport.camel.MatcherSplitter.split(MatcherSplitter.java:84)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:214)
      at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:133)
      at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:137)
      at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:74)
      ... 54 more
      WARN 00:21:01,922 | org.springframework.jms.listener.DefaultMessageListenerContainer | Execution of JMS message listener failed, and no ErrorHandler has been set.
      org.apache.camel.language.bean.RuntimeBeanExpressionException: Failed to invoke method: null on null due to: java.lang.NullPointerException
      at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:77)
      at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:82)
      at org.apache.camel.processor.Splitter.createProcessorExchangePairs(Splitter.java:72)
      at org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:129)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
      at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
      at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:51)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
      at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
      at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.spring.spi.TransactionErrorHandler.access$001(TransactionErrorHandler.java:39)
      at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:140)
      at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
      at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
      at org.apache.camel.spring.spi.TransactionErrorHandler.doInTransactionTemplate(TransactionErrorHandler.java:130)
      at org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(TransactionErrorHandler.java:106)
      at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:84)
      at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
      at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
      at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
      at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
      at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
      at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
      at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
      at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
      at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:66)
      at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
      at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
      at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:84)
      at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:559)
      at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)
      at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)
      at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
      at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:977)
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:969)
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:871)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: java.lang.NullPointerException
      at java.util.AbstractCollection.removeAll(AbstractCollection.java:336)
      at org.apache.mailet.base.MatcherInverter.match(MatcherInverter.java:81)
      at org.apache.james.transport.camel.MatcherSplitter.split(MatcherSplitter.java:84)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:214)
      at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:133)
      at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:137)
      at org.apache.camel.language.bean.BeanExpression.evaluate(BeanExpression.java:74)
      ... 54 more

        Issue Links

          Activity

          Hide
          Norman Maurer added a comment -

          Was fixed in mailet-base

          Show
          Norman Maurer added a comment - Was fixed in mailet-base

            People

            • Assignee:
              Norman Maurer
              Reporter:
              Max Levinson
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development