[ 
https://issues.apache.org/jira/browse/JAMES-1074?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923972#action_12923972
 ] 

Eric Charles commented on JAMES-1074:
-------------------------------------

Stuff to move to mail is trivial and we said the same think.

About the creation of a container-api and container-library, let me try to 
explain why I came to think to that (may sounds strange in the begining):
- All remaining lifecycle/services interfaces in core-api have usage a bit 
everywhere..., but implementation/instanciation/manipulation in 
container-spring, this is why I found that it was the "contract"/interface of 
the container-spring, and upcoming container-guice, container-karaf,...
- The notion of "core" is a bit fuzzy. Talking about domain model, it may be 
the Mail class, but why wouldn't we use one day the Mail class of the Mailet 
for that... Talking about services, I would point SpoolManager and JameServer 
to represent the core. But yes, here we have both...
- The current core-function has been created because we didn't know where to 
place JamesSpoolManager and JamesMailServer. I see more JamesSpoolManager  for 
example as a class that contains the neede threads to make the spooling work, 
so can be related to container. 
- Finally container-spring has no container-api/container-library equivalent, 
this breaks our nice projects karma.

An argument to keep core would be to use some projects without a container, but 
I'm not sure it is possible or even the goal.

Leaving in core is of course ok to me.

1 more comment: We will have org.apache.james.core.api and 
org.apache.james.core.api.lifecycle. exception to the "all interface in *.api 
package"


> Align packages hierarchy of the services
> ----------------------------------------
>
>                 Key: JAMES-1074
>                 URL: https://issues.apache.org/jira/browse/JAMES-1074
>             Project: JAMES Server
>          Issue Type: Improvement
>    Affects Versions: 3.0-M1
>            Reporter: Eric Charles
>            Assignee: Eric Charles
>             Fix For: 3.0-M1
>
>
> We need to align package service hierarchy to have stable api, uniformity and 
> osgi-deployable.
> For example, the proposed hierarchy for a "mail" service is:
> org.apache.james.mail.api (in the mail api project)
> org.apache.james.mail.lib (in the mail library project)
> org.apache.james.mail.jpa (in the mail jpa impl project)
> org.apache.james.mail.jcr (in the mail jcr impl project)
> ....
> The conf files and spring-beans.xml need to be updated according to the 
> repackaging.

-- 
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-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to