You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Norman Maurer (JIRA)" <se...@james.apache.org> on 2010/01/12 23:07:55 UTC

[jira] Resolved: (JAMES-494) Refactor the service methods to inject services via setters

     [ https://issues.apache.org/jira/browse/JAMES-494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Norman Maurer resolved JAMES-494.
---------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: Trunk)
                   3.0-M1
         Assignee: Norman Maurer

we use JSR250 in trunk

> Refactor the service methods to inject services via setters
> -----------------------------------------------------------
>
>                 Key: JAMES-494
>                 URL: https://issues.apache.org/jira/browse/JAMES-494
>             Project: JAMES Server
>          Issue Type: Sub-task
>    Affects Versions: 3.0
>            Reporter: Stefano Bagnara
>            Assignee: Norman Maurer
>             Fix For: 3.0-M1
>
>
> Nothing worth more than an example:
> Here is the current service method of the SMTPServer:
> public void service( final ServiceManager manager ) throws ServiceException {
> 	super.service( manager );
> 	serviceManager = manager;
> 	mailetcontext = (MailetContext) manager.lookup("org.apache.mailet.MailetContext");
> 	mailServer = (MailServer) manager.lookup(MailServer.ROLE);
> 	users = (UsersRepository) manager.lookup(UsersRepository.ROLE);
> 	dnsServer = (DNSServer) manager.lookup(DNSServer.ROLE); 
> }
> We could change it to
> public void service( final ServiceManager manager ) throws ServiceException {
> 	super.service( manager );
> 	serviceManager = manager;
> 	setMailetContext((MailetContext) manager.lookup("org.apache.mailet.MailetContext"));
> 	setMailServer((MailServer) manager.lookup(MailServer.ROLE));
> 	setUsersRepository((UsersRepository) manager.lookup(UsersRepository.ROLE));
> 	setDNSServer((DNSServer) manager.lookup(DNSServer.ROLE)); 
> }
> and add the above setters.
> This way we can fill dependencies of SMTPServer without using the Serviceable interface and the ServiceManager component.
> Later we'll move the whole service method and Serviceable interface to the specific Avalon extension of the "container-agnostic" SMTPServer.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org