Just check out the changes now. I applied your patch.

Regards
Lars



Am Mittwoch 10 September 2008 12:13:18 schrieb ivan:
> Lars Heinemann пишет:
> > Ivan,
> >
> > please raise a JIRA for the issues. I will have a look at this then.
>
>    Hi Lars!
>
> I created SM-1568 and SM-1569.
>
>   Truly your,
>   Ivan Pryvalov.
>
> > Regards
> > Lars
> >
> > Am Mittwoch 10 September 2008 11:50:32 schrieb ivan:
> >> ivan пишет:
> >>>   Hi team!
> >>>
> >>> Some month ago I was interesting in servicemix-mail component and I
> >>> began to use servicemix 3.3-snapshot in SM 3.2.1 version.
> >>>
> >>> For now I have 2 notes regarding implementation of component:
> >>>
> >>> 1. class MailSenderEndpoint :
> >>>    method processInOut and method processInOnly:
> >>>
> >>>
> >>>   snippet from code:
> >>>
> >>>  ...
> >>>  Transport.send(msg);
> >>>  ...
> >>>
> >>>
> >>> Found issue:
> >>>   it is not possible to use SMTPS (for example, gmail)
> >>>
> >>> connection:
> >>> smtps://[EMAIL PROTECTED]
> >>>
> >>>
> >>> Steps to resolve:
> >>>
> >>>  replace snippet from code with
> >>>
> >>>  ...
> >>> Transport transport = session.getTransport();
> >>>
> >>>                 transport.connect(
> >>>                         MailSenderEndpoint.this.config.getHost(),
> >>>                         MailSenderEndpoint.this.config.getPort(),
> >>>                         MailSenderEndpoint.this.config.getUsername(),
> >>>                         MailSenderEndpoint.this.config.getPassword()
> >>>                         );
> >>>                 transport.sendMessage(msg, msg.getAllRecipients());
> >>>                 transport.close();
> >>> ...
> >>>
> >>>
> >>>
> >>> 2. class AbstractMailMarchaller is not thread-safe:
> >>
> >> It means if I will send 2 excganges to some SU based on servicemix-mail
> >> component, after first exchange is processed, it is executed cleanUp
> >> method of AbstractMarshaller, and while executing second exchange we get
> >> "FileNotFoundException".
> >>
> >> Schema:
> >>
> >>
> >> 1 Exchange:  -> AR   SA   S   C
> >>
> >>
> >>
> >> 2 Exchange:   ---->  AR   SA     S    C
> >>
> >>
> >> AR - AcceptionRequest
> >> SA - SavingAttachments
> >> S - Sending e-mail
> >> C - CleanUp.
> >>
> >> Troubles is in point 2Exchange.S  (after 1.Exchange.C)
> >>
> >>> private List<File> temporaryFiles = new ArrayList<File>();
> >>>
> >>>
> >>> I would to replace it with:
> >>>
> >>> private Map< String, List<File> > temporaryFilesMap =
> >>> Collections.synchronizedMap(new HashMap<String, List<File> >());
> >>>
> >>>
> >>> and:
> >>>
> >>> protected final void addTemporaryResource(String id, File tmpFile) {
> >>>         if (!this.temporaryFilesMap.containsKey(id))
> >>>             this.temporaryFilesMap.put(id, new ArrayList<File>());
> >>>         this.temporaryFilesMap.get(id).add(tmpFile);
> >>>     }
> >>>
> >>> and:
> >>>
> >>>     public final void cleanUpResources(String id) {
> >>>         List<File> list = this.temporaryFilesMap.get(id);
> >>>         if (list!=null){
> >>>             for (File f : list) {
> >>>                 f.delete();
> >>>             }
> >>>             list.clear();
> >>>             this.temporaryFilesMap.remove(id);
> >>>         }
> >>>     }
> >>>
> >>>
> >>> And do necessary changes in code from other classes (also it is needed
> >>
> >> For id we can use exchange.getExchangeId().
> >>
> >>> to update tests to avoid NullPointerException, I mean following:
> >>>  replace InOnly exchange = new InOnlyImpl() with  InOnly exchange = new
> >>> InOnlyImpl("id"))
> >>>
> >>>
> >>> Can I create JIRA-tasks for this 2 issues?
> >>>
> >>>   Ivan Pryvalov.

Reply via email to