Hello! While testing my custom mailet under high load (approx. 5 messages per second) I get this Exception from James:
java.lang.RuntimeException: Exception caught while retrieving a stream : java.io.FileNotFoundException: /james/develop/dist/james-2.1.2/apps/james/var/mail/spool/4D61696C313035363339323532353534392D37.Repository.FileStreamStore (No such file or directory) at org.apache.james.mailrepository.filepair.File_Persistent_Stream_Repository.get(File_Persistent_Stream_Repository.java:71) at org.apache.james.mailrepository.MimeMessageAvalonSource.getInputStream(MimeMessageAvalonSource.java:59) at org.apache.james.core.MimeMessageWrapper.writeTo(MimeMessageWrapper.java:198) at org.apache.james.core.MailImpl.writeMessageTo(MailImpl.java:376) at org.apache.james.mailrepository.AvalonMailRepository.store(AvalonMailRepository.java:274) at org.apache.james.James.sendMail(James.java:444) at org.apache.james.James.sendMail(James.java:407) at org.apache.james.James.sendMail(James.java:389) 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:324) at org.apache.avalon.phoenix.components.application.BlockInvocationHandler.invoke(BlockInvocationHandler.java:92) at $Proxy9.sendMail(Unknown Source) at MailService.forwardMail(MailService.java:317) at ForwardMailet.service(ForwardMailet.java:146) at org.apache.james.transport.LinearProcessor.service(LinearProcessor.java:362) at org.apache.james.transport.JamesSpoolManager.process(JamesSpoolManager.java:385) at org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:315) at org.apache.avalon.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:47) at org.apache.avalon.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:80) Basically method sendMail does remove all recipients and adds a new one. Here is the code: public void forwardMail(String mailSender,String mailRecipient) throws MessagingException { Collection recipients = mail.getRecipients(); Collection recipientsToRemove = null; /* remove all recipients */ for (Iterator i = recipients.iterator(); i.hasNext(); ) { MailAddress addr = (MailAddress)i.next(); if (recipientsToRemove == null) { recipientsToRemove = new Vector(); } recipientsToRemove.add(addr); } recipients.removeAll(recipientsToRemove); Collection recipientsToAdd = new HashSet(); recipientsToAdd.add(new MailAddress(new UtilAddress(mailRecipient).markMail())); myMailetContext.sendMail(mail.getSender(), recipientsToAdd, mail.getMessage()); /* set state to further processing */ logger.info("mail state forwarded and orginal set to GHOST"); mail.setState(Mail.GHOST); return; } I am using James 2.1.2 and the logs show no additional information than the exception I mentioned. If I limit the load (eg one mail / second) the exception does not occur. Any ideas ? Greets, Frank Herrmann __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]