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 no...@apache.org on 2006/05/31 05:49:33 UTC

svn commit: r410426 - in /james/server/branches/v2.3/src: conf/ java/org/apache/james/core/ java/org/apache/james/mailrepository/filepair/

Author: noel
Date: Tue May 30 20:49:33 2006
New Revision: 410426

URL: http://svn.apache.org/viewvc?rev=410426&view=rev
Log:
JAMES-512.  Patch by Stefano Bagnara.  Remove RepositoryManager, which was holding repositories in memory.

Added:
    james/server/branches/v2.3/src/java/org/apache/james/core/AvalonMailStore.xinfo
      - copied unchanged from r410423, james/server/trunk/src/java/org/apache/james/core/AvalonMailStore.xinfo
    james/server/branches/v2.3/src/java/org/apache/james/mailrepository/filepair/File_Persistent_Stream_Repository.java
      - copied unchanged from r410423, james/server/trunk/src/java/org/apache/james/mailrepository/filepair/File_Persistent_Stream_Repository.java
Modified:
    james/server/branches/v2.3/src/conf/james-assembly.xml
    james/server/branches/v2.3/src/conf/james-config.xml
    james/server/branches/v2.3/src/java/org/apache/james/core/AvalonMailStore.java

Modified: james/server/branches/v2.3/src/conf/james-assembly.xml
URL: http://svn.apache.org/viewvc/james/server/branches/v2.3/src/conf/james-assembly.xml?rev=410426&r1=410425&r2=410426&view=diff
==============================================================================
--- james/server/branches/v2.3/src/conf/james-assembly.xml (original)
+++ james/server/branches/v2.3/src/conf/james-assembly.xml Tue May 30 20:49:33 2006
@@ -118,8 +118,6 @@
 
   <!-- The High Level Storage block -->
   <block name="mailstore" class="org.apache.james.core.AvalonMailStore" >
-    <provide name="objectstorage"
-             role="org.apache.avalon.cornerstone.services.store.Store"/>
     <provide name="database-connections"
              role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector" />
   </block>
@@ -133,7 +131,7 @@
   <!-- The User Storage block -->
   <block name="users-store" class="org.apache.james.core.AvalonUsersStore" >
     <!-- Configure file based user store here, defaults should be fine -->
-    <provide name="objectstorage"
+    <provide name="mailstore"
              role="org.apache.avalon.cornerstone.services.store.Store"/>
     <provide name="database-connections"
              role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector" />
@@ -148,10 +146,6 @@
   <!-- Configuration for Cornerstone Blocks only after here
        NOTHING BELOW THIS SHOULD NEED CHANGING,
        (unless you want secure sockets (TLS)) -->
-
-  <!-- The Storage block -->
-  <block name="objectstorage"
-         class="org.apache.avalon.cornerstone.blocks.masterstore.RepositoryManager" />
 
   <!-- The Connection Manager block -->
   <block name="connections"

Modified: james/server/branches/v2.3/src/conf/james-config.xml
URL: http://svn.apache.org/viewvc/james/server/branches/v2.3/src/conf/james-config.xml?rev=410426&r1=410425&r2=410426&view=diff
==============================================================================
--- james/server/branches/v2.3/src/conf/james-config.xml (original)
+++ james/server/branches/v2.3/src/conf/james-config.xml Tue May 30 20:49:33 2006
@@ -977,6 +977,34 @@
                <type>MAIL</type>
             </types>
          </repository>
+
+         <repository class="org.apache.james.mailrepository.filepair.File_Persistent_Object_Repository">
+            <protocols>
+               <protocol>file</protocol>
+            </protocols>
+            <types>
+               <type>OBJECT</type>
+            </types>
+            <models>
+               <model>SYNCHRONOUS</model>
+               <model>ASYNCHRONOUS</model>
+               <model>CACHE</model>
+            </models>
+         </repository>
+
+         <repository class="org.apache.james.mailrepository.filepair.File_Persistent_Stream_Repository">
+            <protocols>
+               <protocol>file</protocol>
+            </protocols>
+            <types>
+               <type>STREAM</type>
+            </types>
+            <models>
+               <model>SYNCHRONOUS</model>
+               <model>ASYNCHRONOUS</model>
+               <model>CACHE</model>
+            </models>
+         </repository>
       </repositories>
 
    </mailstore>
@@ -1126,41 +1154,6 @@
    <!-- in this section.  Please read the James and Avalon documentation before -->
    <!-- attempting to adjust this section. -->
    <!-- -->
-
-   <!-- The Object Storage block -->
-   <!-- -->
-   <!-- Defines file storage details that are used for file-based repositories. -->
-   <objectstorage>
-      <repositories>
-         <repository class="org.apache.james.mailrepository.filepair.File_Persistent_Object_Repository">
-            <protocols>
-               <protocol>file</protocol>
-            </protocols>
-            <types>
-               <type>OBJECT</type>
-            </types>
-            <models>
-               <model>SYNCHRONOUS</model>
-               <model>ASYNCHRONOUS</model>
-               <model>CACHE</model>
-            </models>
-         </repository>
-
-         <repository class="org.apache.james.mailrepository.filepair.File_Persistent_Stream_Repository">
-            <protocols>
-               <protocol>file</protocol>
-            </protocols>
-            <types>
-               <type>STREAM</type>
-            </types>
-            <models>
-               <model>SYNCHRONOUS</model>
-               <model>ASYNCHRONOUS</model>
-               <model>CACHE</model>
-            </models>
-         </repository>
-      </repositories>
-   </objectstorage>
 
    <!-- The Connection Manager block -->
    <!-- -->

Modified: james/server/branches/v2.3/src/java/org/apache/james/core/AvalonMailStore.java
URL: http://svn.apache.org/viewvc/james/server/branches/v2.3/src/java/org/apache/james/core/AvalonMailStore.java?rev=410426&r1=410425&r2=410426&view=diff
==============================================================================
--- james/server/branches/v2.3/src/java/org/apache/james/core/AvalonMailStore.java (original)
+++ james/server/branches/v2.3/src/java/org/apache/james/core/AvalonMailStore.java Tue May 30 20:49:33 2006
@@ -20,6 +20,7 @@
 import org.apache.avalon.cornerstone.services.store.Store;
 import org.apache.avalon.framework.activity.Initializable;
 import org.apache.avalon.framework.component.Composable;
+import org.apache.avalon.framework.service.DefaultServiceManager;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.Serviceable;
@@ -34,7 +35,6 @@
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.avalon.framework.logger.LogEnabled;
 import org.apache.commons.collections.ReferenceMap;
-import org.apache.james.services.MailRepository;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -93,7 +93,9 @@
     public void service( final ServiceManager manager )
         throws ServiceException
     {
-        this.m_manager = manager;
+        DefaultServiceManager def_manager = new DefaultServiceManager(manager);
+        def_manager.put(Store.ROLE, this);
+        m_manager = def_manager;
     }
 
 
@@ -224,7 +226,7 @@
         {
             String type = repConf.getAttribute("type");
             String repID = destination + type;
-            MailRepository reply = (MailRepository) repositories.get(repID);
+            Object reply = repositories.get(repID);
             StringBuffer logBuffer = null;
             if (reply != null) {
                 if (getLogger().isDebugEnabled()) {
@@ -270,7 +272,7 @@
                 }
 
                 try {
-                    reply = (MailRepository) this.getClass().getClassLoader().loadClass(repClass).newInstance();
+                    reply = this.getClass().getClassLoader().loadClass(repClass).newInstance();
                     if (reply instanceof LogEnabled) {
                        setupLogger(reply);
                     }



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