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.