james-server-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Barry Bai" <yi....@bitrustar.com>
Subject Re: Re: Re: How to do limitation space of mailbox
Date Mon, 14 Feb 2011 08:33:01 GMT
thank you very much.


2011-02-14 



Barry Bai 



发件人: Norman Maurer 
发送时间: 2011-02-14  16:25:25 
收件人: James Users List 
抄送: 
主题: Re: Re: Re: How to do limitation space of mailbox 
 
Hi Barry,
this was a bug. I just fixed it in trunk...
https://issues.apache.org/jira/browse/JAMES-1194
Thx,
Norman
2011/2/14 Barry Bai <yi.bai@bitrustar.com>:
> Hi, I just added the below content in mailetcontainer.xml:
>   <mailet match="StorageQuotaFixed=4m" class="ToProcessor">
>        <processor>bounces</processor>
>   </mailet>
>
> When the space overs the quota, the DSNBounce will be invoked, but there is a NPE.
>
> Is there any mistake in my configuration?
>
> the stack is as below:
> java.lang.NullPointerException
>        at java.util.regex.Matcher.getTextLength(Unknown Source)
>        at java.util.regex.Matcher.reset(Unknown Source)
>        at java.util.regex.Matcher.<init>(Unknown Source)
>        at java.util.regex.Pattern.matcher(Unknown Source)
>        at org.apache.james.transport.mailets.DSNBounce.createDSN(DSNBounce.java:377)
>        at org.apache.james.transport.mailets.DSNBounce.service(DSNBounce.java:204)
>        at org.apache.james.mailetcontainer.camel.CamelProcessor.process(CamelProcessor.java:66)
>        at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)
>        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
>        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
>        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
>        at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
>        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
>        at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)
>        at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)
>        at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
>        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
>        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
>        at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:80)
>        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
>        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
>        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
>        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
>        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
>        at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
>        at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
>        at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
>        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
>        at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)
>        at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)
>        at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
>        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:143)
>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:78)
>        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
>        at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:299)
>        at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:208)
>        at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:99)
>        at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:91)
>        at org.apache.camel.processor.MulticastProcessor.doProcessParallel(MulticastProcessor.java:515)
>        at org.apache.camel.processor.MulticastProcessor.access$100(MulticastProcessor.java:73)
>        at org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:239)
>        at org.apache.camel.processor.MulticastProcessor$1.call(MulticastProcessor.java:231)
>        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
>        at java.util.concurrent.FutureTask.run(Unknown Source)
>        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>        at java.lang.Thread.run(Unknown Source)
>
> Thank you very much.
>
> 2011-02-14
>
>
>
> Barry Bai
>
>
>
> 发件人: Norman Maurer
> 发送时间: 2011-02-14  14:05:12
> 收件人: James Developers List
> 抄送: James Users List
> 主题: Re: Re: Re: How to do limitation space of mailbox
>
> Hi there,
> you will need to call the "DNSBounce" mailet after match your Matcher.
> See:
> http://james.apache.org/server/3/dev-provided-mailets.html
> Bye,
> Norman
> 2011/2/14 Barry Bai <yi.bai@bitrustar.com>:
>> Sorry, I was wrong, although the Quota matcher is working, when overing quota, the
mail can still be stored. I think when overing quota, James should reject the mail and notify
sender, right? I don't know how to implement this.
>>
>> Thanks.
>>
>>
>> 2011-02-14
>>
>>
>>
>> Barry Bai
>>
>>
>>
>> 发件人: Barry Bai
>> 发送时间: 2011-02-14  13:00:37
>> 收件人: James Users List; server-dev
>> 抄送:
>> 主题: Re: Re: How to do limitation space of mailbox
>>
>> Hi, I have fixed some wrong in the AbstractStorageQuota.java and it is working now.
Next step is do some optimizing and add some cach mechanism.
>>
>> Thanks for Eric and Norman's help.
>> 2011-02-14
>>
>>
>>
>> Barry Bai
>>
>>
>>
>> 发件人: Norman Maurer
>> 发送时间: 2011-02-11  18:32:44
>> 收件人: James Users List
>> 抄送:
>> 主题: Re: How to do limitation space of mailbox
>> Sorry I was wrong,,
>> there is an Abstract base class you could extend to build in such a
>> Matcher. But its far from optimal ...
>> http://svn.apache.org/viewvc/james/server/trunk/mailets/src/main/java/org/apache/james/transport/matchers/AbstractStorageQuota.java?view=markup
>> Bye,
>> Norman
>> 2011/2/11 Eric Charles <eric@apache.org>:
>>> I suppose RecipientIsOverFixedQuota was not taken in trunk due to non
>>> optimal implementation (count on every call).
>>> But this could be a start for users who want to try and ameliorate it.
>>>
>>> So, Barry, simply take the 2.3.2 RecipientIsOverFixedQuota as an
>>> additional jar, configure the mailetcontainer.xml (which extends
>>> AbstractStorageQuota which extends AbstractQuotaMatcher), and tell us if
>>> this works for you :)
>>>
>>> Tks,
>>>
>>> Eric
>>>
>>>
>>> Do we need to simply use the 2.3.2 RecipientIsOverFixedQuota
>>>
>>> On 11/02/2011 07:10, Norman Maurer wrote:
>>>> Hi Eric,
>>>>
>>>> RecipeintIsOverFixedQuota is working with trunk.. Well to be exact,
>>>> kind of ;) It only respect messages in the INBOX and not in the
>>>> subfolders. It it need to count the size on every call so its
>>>> ultra-inefficent.
>>>>
>>>> Bye,
>>>> Norman
>>>>
>>>> 2011/2/11 Eric Charles <eric@apache.org>:
>>>>> (btw, 2.3.2 RecipientIsOverFixedQuota won't help you much - you really
>>>>> need to develop it from scratch).
>>>>>
>>>>>
>>>>> On 11/02/2011 06:54, Eric Charles wrote:
>>>>>> Hi,
>>>>>>
>>>>>> The documentation to develop custom mailet/matcher is here
>>>>>> http://james.apache.org/server/3/dev-extend-mailet.html
>>>>>> http://james.apache.org/server/3/dev-extend-matcher.html
>>>>>> (see also http://markmail.org/thread/346wzxsksdvhlnee for the mailet
>>>>>> package specification change in M3)
>>>>>>
>>>>>> The mailet/matcher configuration occurs in mailtecontainer.xml
>>>>>> http://james.apache.org/server/3/config-mailetcontainer.html
>>>>>>
>>>>>> The RecipientIsOverFixedQuota matcher is mentioned on
>>>>>> http://james.apache.org/server/3/dev-provided-matchers.html but is
no
>>>>>> more in 3.0 trunk.
>>>>>> You can view RecipientIsOverFixedQuota 2.3.2 source on
>>>>>>
>>>>>>
>>>>>> Hope this helps,
>>>>>>
>>>>>> Eric
>>>>>>
>>>>>>
>>>>>> On 11/02/2011 03:42, Barry Bai wrote:
>>>>>>> I have seen some examples with the url you provided, but I can't
still make clear the process of mailet and matcher or how to invoke them, etc. I am looking
foward your details.
>>>>>>>
>>>>>>> I am trying to write a "quota matcher" of James3 for per user,
it is mentioned by Eric. it is very urgent for me, so I just do some researching on it.
>>>>>>>
>>>>>>> Thanks.
>>>>>>> 2011-02-11
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Barry Bai
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 发件人: agks mehx
>>>>>>> 发送时间: 2011-02-11  10:20:38
>>>>>>> 收件人: James Users List
>>>>>>> 抄送:
>>>>>>> 主题: Re: Re: How to do limitation space of mailbox
>>>>>>>
>>>>>>> A bit difficult to read but if you work through these examples
should give
>>>>>>> you everything you need:
>>>>>>> http://svn.apache.org/viewvc/james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/
>>>>>>> If you need help with configuration see emails about mailets
on this list in
>>>>>>> the last couple of days.
>>>>>>> I'm sure eventually there will be better documentation/tutorials
but for now
>>>>>>> this is all I am aware of.
>>>>>>> On Thu, Feb 10, 2011 at 3:37 PM, Barry Bai <yi.bai@bitrustar.com>
wrote:
>>>>>>>> Hi Eirc, could you please provide some tutorial or other
material about
>>>>>>>> developing customized mailet and matcher in James 3.0? I
can just find some
>>>>>>>> technical material for James 2 in the official website and
they should not
>>>>>>>> be applicable for James 3, right?
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> 2011-02-11
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Barry Bai
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 发件人: Eric Charles
>>>>>>>> 发送时间: 2011-02-10  15:36:40
>>>>>>>> 收件人: James Users List
>>>>>>>> 抄送:
>>>>>>>> 主题: Re: How to do limitation space of mailbox
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>> There was a "quota matcher" developed for James 2.2, but
that is  not
>>>>>>>> supported in james 3.0 mailbox (the way mails are persisted
in
>>>>>>>> completely different in 3.0).
>>>>>>>> To my knowledge, we don't have an out-of-the-box solution
to support
>>>>>>>> quota in 3.0.
>>>>>>>> You could open a JIRA,  trying to express your requirements
: is it
>>>>>>>> quota per user or per mailbox (or both?), do you see it more
as part of
>>>>>>>> the mailbox or the server project, is there a default value
always
>>>>>>>> applicable,...
>>>>>>>> If you don't have a more precise idea, simply open it without
detail.
>>>>>>>> Tks,
>>>>>>>> Eric
>>>>>>>> On 9/02/2011 10:25, Barry Bai wrote:
>>>>>>>>> Hi, in James V3, how to limit space  of mailbox for one
user?
>>>>>>>>>
>>>>>>>>> Thanks a lot.
>>>>>>>>>
>>>>>>>>> 2011-02-09
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Barry Bai
>>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> 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
>>>>>
>>>>>
>>>> ---------------------------------------------------------------------
>>>> 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
>>>
>>>
>> ---------------------------------------------------------------------
>> 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-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-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
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message