Thanks for your detailed response, Eric. I'll have a look into the mailing list archives tomorrow, and keep you updated on what I find out. I'll do some testing early next week on my local machine with the source code.
Thanks again, Raju On Fri, Nov 26, 2010 at 11:20 AM, Eric Charles <[email protected]> wrote: > Hi Raju, > > I personally never used james mailing list, even though it's also in my > plans. > > To my knowledge, I don't think much work was done on mailing list for James > V3, meaning it was "simply" migrated/renamed from V2. > They were migrated from 2.3 taking into account the new injection mechanism > of 3.0, so they should be ready to server mailing lists. > > For the doc, I simply copied for now > http://james.apache.org/server/2.3.0/mailing_lists.html to > http://james.apache.org/server/3/config-listmanager.html. > I also added on that page a mention of the miResources.xml file where SQL > resides. > > Now, I have the same question as you: how to configure and let work the > whole stuff. > I searched on the web site (archives), james wiki but didn't find a howto. > Probably this question was already asked on the james mailinglist (I didn't > search). > > But it's well probable that code debugging/adjustement will be needed to > make it work, as you could be the first user of this feature in V3. > I had a quick look at a few classes of the james mailet project > example: > https://svn.apache.org/repos/asf/james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/CommandListservManager.java > > I could also jump and help you if you like, and further document how to > configure. > > TKs, > > Eric > > > On 26/11/2010 10:44, Raju Bitter wrote: >> >> Stupid mistake, I had extra whitespace in the mailetcontainer.xml >> file. Now everything seems to be working. >> >> How can people subscribe to a list created like that? Does the >> documentation on this page still apply? >> http://james.apache.org/server/FAQ.html#1 >> >> Let's assume my mailing list address is: [email protected] >> >> To subscribe to the mailing list, I'd sent an email to >> [email protected]? How can I find out if that's working >> through the log files? >> >> - Raju >> >> >> On Fri, Nov 26, 2010 at 10:05 AM, Raju Bitter >> <[email protected]> wrote: >>> >>> I'm trying to set up a mailing lists for 3.0M2, using the >>> documentation I found here: >>> http://james.apache.org/server/2.3.0/mailing_lists.html >>> >>> What are the changes required to make that work in 3.0M2? Here's what >>> I've tried: >>> >>> 1) Created a email address for the mailing list >>> >>> 2) I added the processor to mailetcontainer.xml >>> <!-- Mailing lists --> >>> <processor name="mailinglists"> >>> <mailet match="[email protected]" >>> class="AvalonListservManager"> >>> <repositoryName>new-mailing-list-repo</repositoryName> >>> </mailet> >>> <mailet match="[email protected]" >>> class="AvalonListserv"> >>> <repositoryName>new-mailing-list-repo</repositoryName> >>> </mailet> >>> </processor> >>> </mailetcontainer> >>> >>> 3) Added a repository for the list to usersrepository.xml >>> <repository name="new-mailing-list-repo" >>> >>> class="org.apache.james.userrepository.ListUsersJdbcRepository" >>> destinationURL="db://maildb/lists/new-mailing-list-repo"> >>> <sqlFile>file://conf/sqlResources.xml</sqlFile> >>> </repository> >>> </usersrepository> >>> >>> I ran into an exception here, since the following class could not be >>> found: >>> org.apache.james.userrepository.ListUsersJdbcRepository >>> >>> It seems the new classname is: >>> org.apache.james.user.jdbc.ListUsersJdbcRepository >>> >>> But using that, I get the following error: >>> jvm 1 | [Fatal Error] :2:6: The processing instruction target >>> matching "[xX][mM][lL]" is not allowed. >>> jvm 1 | org.springframework.beans.factory.BeanCreationException: >>> Error creating bean with name >>> 'org.apache.james.transport.mailets.ToRepository': Injection of >>> resource dependencies failed; nested exception is >>> org.springframework.beans.factory.BeanCreationException: Error >>> creating bean with name 'mailstore' defined in class path resource >>> [spring-beans.xml]: Initialization of bean failed; nested exception is >>> org.springframework.beans.FatalBeanException: Unable to execute >>> lifecycle method on beanmailstore; nested exception is >>> org.apache.commons.configuration.ConfigurationException: Unable to >>> load configuration for component mailstore >>> jvm 1 | at >>> org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:300) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBean(AbstractAutowireCapableBeanFactory.java:295) >>> jvm 1 | at >>> org.apache.james.container.spring.SpringInstanceFactory.newInstance(SpringInstanceFactory.java:73) >>> jvm 1 | at >>> org.apache.james.container.spring.SpringInstanceFactory.newInstance(SpringInstanceFactory.java:48) >>> jvm 1 | at >>> org.apache.james.mailetcontainer.lib.JamesMailetLoader.getMailet(JamesMailetLoader.java:57) >>> jvm 1 | at >>> org.apache.james.mailetcontainer.camel.CamelMailProcessorList$SpoolRouteBuilder.configure(CamelMailProcessorList.java:422) >>> jvm 1 | at >>> org.apache.camel.builder.RouteBuilder.checkInitialized(RouteBuilder.java:295) >>> jvm 1 | at >>> org.apache.camel.builder.RouteBuilder.configureRoutes(RouteBuilder.java:250) >>> jvm 1 | at >>> org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:236) >>> jvm 1 | at >>> org.apache.camel.impl.DefaultCamelContext.addRoutes(DefaultCamelContext.java:552) >>> jvm 1 | at >>> org.apache.james.mailetcontainer.camel.CamelMailProcessorList.init(CamelMailProcessorList.java:105) >>> jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>> Method) >>> jvm 1 | at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> jvm 1 | at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> jvm 1 | at java.lang.reflect.Method.invoke(Method.java:597) >>> jvm 1 | at >>> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:340) >>> jvm 1 | at >>> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293) >>> jvm 1 | at >>> org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) >>> jvm 1 | at >>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) >>> jvm 1 | at >>> org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:435) >>> jvm 1 | at >>> org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:409) >>> jvm 1 | at >>> org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:541) >>> jvm 1 | at >>> org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:156) >>> jvm 1 | at >>> org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) >>> jvm 1 | at >>> org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:297) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) >>> jvm 1 | at >>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) >>> jvm 1 | at >>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) >>> jvm 1 | at >>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) >>> jvm 1 | at >>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:378) >>> jvm 1 | at >>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:161) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) >>> jvm 1 | at >>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) >>> jvm 1 | at >>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) >>> jvm 1 | at >>> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) >>> jvm 1 | at >>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) >>> jvm 1 | at >>> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) >>> jvm 1 | at >>> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) >>> jvm 1 | at >>> org.apache.james.container.spring.JamesServerApplicationContext.<init>(JamesServerApplicationContext.java:37) >>> jvm 1 | at >>> org.apache.james.container.spring.Main.main(Main.java:29) >>> jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>> Method) >>> jvm 1 | at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>> jvm 1 | at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> jvm 1 | at java.lang.reflect.Method.invoke(Method.java:597) >>> jvm 1 | at >>> org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240) >>> jvm 1 | at java.lang.Thread.run(Thread.java:662) >>> jvm 1 | Caused by: >>> org.springframework.beans.factory.BeanCreationException: Error >>> creating bean with name 'mailstore' defined in class path resource >>> [spring-beans.xml]: Initialization of bean failed; nested exception is >>> org.springframework.beans.FatalBeanException: Unable to execute >>> lifecycle method on beanmailstore; nested exception is >>> org.apache.commons.configuration.ConfigurationException: Unable to >>> load configuration for component mailstore >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) >>> jvm 1 | at >>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) >>> jvm 1 | at >>> org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:435) >>> jvm 1 | at >>> org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:409) >>> jvm 1 | at >>> org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:541) >>> jvm 1 | at >>> org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:156) >>> jvm 1 | at >>> org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) >>> jvm 1 | at >>> org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:297) >>> jvm 1 | ... 64 more >>> jvm 1 | Caused by: org.springframework.beans.FatalBeanException: >>> Unable to execute lifecycle method on beanmailstore; nested exception >>> is org.apache.commons.configuration.ConfigurationException: Unable to >>> load configuration for component mailstore >>> jvm 1 | at >>> org.apache.james.container.spring.lifecycle.AbstractLifeCycleBeanPostProcessor.postProcessBeforeInitialization(AbstractLifeCycleBeanPostProcessor.java:70) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413) >>> jvm 1 | at >>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) >>> jvm 1 | ... 75 more >>> jvm 1 | Caused by: >>> org.apache.commons.configuration.ConfigurationException: Unable to >>> load configuration for component mailstore >>> jvm 1 | at >>> org.apache.james.container.spring.lifecycle.SpringConfigurationProvider.getConfiguration(SpringConfigurationProvider.java:113) >>> jvm 1 | at >>> org.apache.james.container.spring.lifecycle.CommonsConfigurableBeanPostProcessor.executeLifecycleMethodBeforeInitChecked(CommonsConfigurableBeanPostProcessor.java:35) >>> ... >>> >>> Am I missing something in the configuration? >>> >>> Thanks, >>> Raju >>> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
