The solution to this was to update the dependancies... In fact BlazeDS was running under Spring 3.0.0 where James uses 3.0.5. Moreover, it works only with "james-server-mailbox-api/jpa/store" M1 versions (I had put M2 ones in the first place because I'm working with James 3 M2...)
Bye, Luc. 2011/1/29 Norman Maurer <nor...@apache.org>: > Exactly.. sounds like you are using spring 2.5.x.. We need spring 3.x. > > See: > http://forum.springsource.org/showthread.php?t=72103 > > Bye, > Norman > > > 2011/1/29 Eric Charles <e...@apache.org>: >> Hi, >> Sounds also like a dependency version issue. >> James needs Spring 3.0. Maybe you have spring 2.x jars somewhere on the >> classpath? >> Tks, >> >> Eric >> >> >> On 28/01/2011 17:06, Luc Saulière wrote: >>> >>> Thx, I suspected that, I found a persistence.jar in the default lib dir of >>> my web app project and I delete it, no more persistence schema issue. >>> But the second exception is still present and seems to be unresolvable... >>> >>> Cause : Server error >>> org.springframework.beans.factory.BeanCreationException >>> : Error creating bean with name 'entityManagerFactory' defined in class >>> path >>> resource [Context.xml]: Invocation of init method failed; nested exception >>> is java.lang.AbstractMethodError: >>> >>> org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode; >>> null >>> >>> Isn't it a problem of versioning conflict? >>> Could I rewrite the method somewhere? >>> >>> 2011/1/28 Norman Maurer<nor...@apache.org> >>> >>>> Hi, >>>> >>>> because of this: >>>> >>>>> Caused by: org.xml.sax.SAXParseException: cvc-complex-type.3.1: Value >>>> >>>> '2.0' >>>>> >>>>> of attribute 'version' of element 'persistence' is not valid with >>>>> respect >>>> >>>> to >>>>> >>>>> the corresponding attribute use. Attribute 'version' has a fixed value >>>>> of >>>>> '1.0'. >>>>> at >>>> >>>> Maybe this helps: >>>> >>>> http://forum.springsource.org/showthread.php?t=89055 >>>> https://jira.springsource.org/browse/SPR-6711 >>>> >>>> In general be sure its no pulled in via a transist dependency. >>>> >>>> Bye, >>>> Norman >>>> >>>> >>>> 2011/1/28 Luc Saulière<luc.sauli...@gmail.com>: >>>>> >>>>> Hello, >>>>> How do you know that my compiler uses jpa 1.x? >>>>> Because the only jpa library in my WebContent/WEB-INF/lib is the >>>>> 2.0.1... >>>>> >>>>> thx. >>>>> >>>>> 2011/1/28 Norman Maurer<nor...@apache.org> >>>>> >>>>>> Hi there, >>>>>> >>>>>> from the trace it seems like you have a jpa 1.x provider on the >>>>>> classpath. James use jpa 2.x, so you need to remove the 1.x one.. >>>>>> >>>>>> Hope it helps, >>>>>> Norman >>>>>> >>>>>> 2011/1/28 Luc Saulière<luc.sauli...@gmail.com>: >>>>>>> >>>>>>> Of course, I give you some details if you are interested. >>>>>>> >>>>>>> The stand alone app needs only 6 beans : >>>>>>> mailboxManager which needs authenticator and sessionMapperFactory >>>> >>>> which >>>>>>> >>>>>>> needs entityManagerFactory which needs datasource and vendorAdapter. >>>>>>> which are loaded with ApplicationContext constructor...(and I get them >>>> >>>> by >>>>>>> >>>>>>> context.getbean method) >>>>>>> >>>>>>> My web app is a BaseDS app, which loads beans with a >>>>>> >>>>>> dispatcherServlet.xml >>>>>>> >>>>>>> file, and then injects them with annotation (like @Resource or >>>>>> >>>>>> @Autowired). >>>>>>> >>>>>>> As I load the authenticator bean, the builder throw an exception >>>> >>>> asking >>>>>> >>>>>> for >>>>>>> >>>>>>> a localusersrepository bean and then another bean... >>>>>>> I then make my own simple authenticator which does not need a >>>> >>>> usersRepos >>>>>>> >>>>>>> (this Auth is always answering yes:). But I don't understand why in my >>>>>>> standalone app I don't need this... >>>>>>> >>>>>>> Second issue, and much bigger, once my authenticator, datasource, >>>>>>> vendorAdapter instanced, the entityManagerFactory throw me some >>>>>> >>>>>> persistence >>>>>>> >>>>>>> issues... >>>>>>> First I am told that the xml schema of META-INF/persistence.xml (that >>>>>> >>>>>> I've >>>>>>> >>>>>>> imported in my web-app project) is not correct. And I got this first >>>>>> >>>>>> stack >>>>>>> >>>>>>> trace, which means, I think, "you have to use version 1.0 of >>>> >>>> persistence" >>>>>>> >>>>>>> after that I change the version to 1.0 in persistence.xml and I got a >>>>>> >>>>>> second >>>>>>> >>>>>>> trace about a ValidationMode method. >>>>>>> The first trace : >>>>>>> org.springframework.beans.factory.BeanCreationException: Error >>>> >>>> creating >>>>>> >>>>>> bean >>>>>>> >>>>>>> with name 'entityManagerFactory' defined in ServletContext resource >>>>>>> [/WEB-INF/dispatcherServlet-servlet.xml]: Invocation of init method >>>>>> >>>>>> failed; >>>>>>> >>>>>>> nested exception is java.lang.IllegalArgumentException: Invalid XML in >>>>>>> persistence unit from URL >>>>>>> >>>> >>>> [file:/C:/WSRFLX/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/kiengiRecup-server/WEB-INF/classes/META-INF/persistence.xml] >>>>>>> >>>>>>> I skip the trace which are not useful I think... and then, the XML >>>>>> >>>>>> traces... >>>>>>> >>>>>>> Caused by: java.lang.IllegalArgumentException: Invalid XML in >>>> >>>> persistence >>>>>>> >>>>>>> unit from URL >>>>>>> >>>> >>>> [file:/C:/WSRFLX/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/kiengiRecup-server/WEB-INF/classes/META-INF/persistence.xml] >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.orm.jpa.persistenceunit.PersistenceUnitReader.readPersistenceUnitInfos(PersistenceUnitReader.java:150) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.readPersistenceUnitInfos(DefaultPersistenceUnitManager.java:303) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.preparePersistenceUnitInfos(DefaultPersistenceUnitManager.java:275) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.afterPropertiesSet(DefaultPersistenceUnitManager.java:260) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:192) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:288) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1398) >>>>>>> >>>>>>> ... 32 more >>>>>>> Caused by: org.xml.sax.SAXParseException: cvc-complex-type.3.1: Value >>>>>> >>>>>> '2.0' >>>>>>> >>>>>>> of attribute 'version' of element 'persistence' is not valid with >>>> >>>> respect >>>>>> >>>>>> to >>>>>>> >>>>>>> the corresponding attribute use. Attribute 'version' has a fixed value >>>> >>>> of >>>>>>> >>>>>>> '1.0'. >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:417) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3181) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processOneAttribute(XMLSchemaValidator.java:2801) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processAttributes(XMLSchemaValidator.java:2713) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:2065) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:705) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3103) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284) >>>>>>> >>>>>>> at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:124) >>>>>>> at >>>>>>> >>>> >>>> org.springframework.orm.jpa.persistenceunit.PersistenceUnitReader.validateResource(PersistenceUnitReader.java:186) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.orm.jpa.persistenceunit.PersistenceUnitReader.readPersistenceUnitInfos(PersistenceUnitReader.java:137) >>>>>>> >>>>>>> ... 39 more >>>>>>> >>>>>>> The second trace : >>>>>>> org.springframework.beans.factory.BeanCreationException: Error >>>> >>>> creating >>>>>> >>>>>> bean >>>>>>> >>>>>>> with name 'entityManagerFactory' defined in ServletContext resource >>>>>>> [/WEB-INF/dispatcherServlet-servlet.xml]: Invocation of init method >>>>>> >>>>>> failed; >>>>>>> >>>>>>> nested exception is java.lang.AbstractMethodError: >>>>>>> >>>> >>>> org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode; >>>>>>> >>>>>>> I skip the trace which are not useful I think... and then, the >>>>>> >>>>>> persistence >>>>>>> >>>>>>> traces... >>>>>>> >>>>>>> Caused by: java.lang.AbstractMethodError: >>>>>>> >>>> >>>> org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode; >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.apache.openjpa.persistence.PersistenceUnitInfoImpl.toOpenJPAProperties(PersistenceUnitInfoImpl.java:457) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.apache.openjpa.persistence.PersistenceProductDerivation.load(PersistenceProductDerivation.java:314) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.apache.openjpa.persistence.PersistenceProviderImpl.createContainerEntityManagerFactory(PersistenceProviderImpl.java:161) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.apache.openjpa.persistence.PersistenceProviderImpl.createContainerEntityManagerFactory(PersistenceProviderImpl.java:65) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:288) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1398) >>>>>>> >>>>>>> ... 32 more >>>>>>> 28 janv. 2011 12:30:24 org.apache.catalina.core.StandardContext >>>>>>> loadOnStartup >>>>>>> GRAVE: La servlet a généré une exception "load()" >>>>>>> java.lang.AbstractMethodError: >>>>>>> >>>> >>>> org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode; >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.apache.openjpa.persistence.PersistenceUnitInfoImpl.toOpenJPAProperties(PersistenceUnitInfoImpl.java:457) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.apache.openjpa.persistence.PersistenceProductDerivation.load(PersistenceProductDerivation.java:314) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.apache.openjpa.persistence.PersistenceProviderImpl.createContainerEntityManagerFactory(PersistenceProviderImpl.java:161) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.apache.openjpa.persistence.PersistenceProviderImpl.createContainerEntityManagerFactory(PersistenceProviderImpl.java:65) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:288) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1398) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:540) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:842) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:416) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:443) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:459) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:340) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:307) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127) >>>>>>> >>>>>>> at javax.servlet.GenericServlet.init(GenericServlet.java:212) >>>>>>> at >>>>>>> >>>> >>>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173) >>>>>>> >>>>>>> at >>>>>> >>>>>> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4387) >>>>>>> >>>>>>> at >>>> >>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4700) >>>>>>> >>>>>>> at >>>> >>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) >>>>>>> >>>>>>> at org.apache.catalina.core.StandardHost.start(StandardHost.java:785) >>>>>>> at >>>> >>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) >>>>>>> >>>>>>> at >>>> >>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) >>>>>>> >>>>>>> at >>>>>> >>>>>> >>>>>> org.apache.catalina.core.StandardService.start(StandardService.java:525) >>>>>>> >>>>>>> at >>>> >>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:701) >>>>>>> >>>>>>> at org.apache.catalina.startup.Catalina.start(Catalina.java:585) >>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>> at >>>>>>> >>>> >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >>>>>>> >>>>>>> at >>>>>>> >>>> >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>>>>>> >>>>>>> at java.lang.reflect.Method.invoke(Method.java:597) >>>>>>> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) >>>>>>> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) >>>>>>> >>>>>>> Thx. >>>>>>> >>>>>>> 2011/1/28 Norman Maurer<nor...@apache.org> >>>>>>> >>>>>>>> Could you give use some more details ? Like the stacktrace etc. >>>>>>>> >>>>>>>> Bye, >>>>>>>> Norman >>>>>>>> >>>>>>>> >>>>>>>> 2011/1/28 Luc Saulière<luc.sauli...@gmail.com>: >>>>>>>>> >>>>>>>>> Hi James Dev Team, >>>>>>>>> Another question on this topic, in facts another step in my James >>>>>> >>>>>> based >>>>>>>> >>>>>>>> app >>>>>>>>> >>>>>>>>> devlopment. >>>>>>>>> The mail storage in James DB (via jdbc mysql connector) works fine >>>> >>>> in >>>>>>>> >>>>>>>> stand >>>>>>>>> >>>>>>>>> alone with only 6 beans (7 with the PlaceHolderConfigurer). >>>>>>>>> My issue takes place in a JavaEE/Spring app, when I tried to load >>>> >>>> my >>>>>>>> >>>>>>>> reduced >>>>>>>>> >>>>>>>>> James spring context, the build behaviour is not the same as in >>>> >>>> stand >>>>>>>> >>>>>>>> alone >>>>>>>>> >>>>>>>>> and it ask me much more beans for, actually trigger a class >>>>>> >>>>>> constructor >>>>>>>>> >>>>>>>>> exception. >>>>>>>>> Anyone has a clue about James based webapp dev? >>>>>>>>> >>>>>>>>> Thx, >>>>>>>>> Luc. >>>>>>>>> >>>>>>>>> 2011/1/24 Eric Charles<e...@apache.org> >>>>>>>>> >>>>>>>>>> Hi Luc, >>>>>>>>>> >>>>>>>>>> Try to add in log4j.properties >>>>>>>>>> log4j.logger.com.kiengi.recup=INFO, CONS, FILE >>>>>>>>>> >>>>>>>>>> Tks, >>>>>>>>>> >>>>>>>>>> Eric >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On 24/01/2011 17:05, Luc Saulière wrote: >>>>>>>>>> >>>>>>>>>>> Hello, >>>>>>>>>>> >>>>>>>>>>> Now I load my java app, as a James side module, I would like to >>>> >>>> log >>>>>>>> >>>>>>>> some >>>>>>>>>>> >>>>>>>>>>> informations for debug and information, like James : >>>>>>>>>>> >>>>>>>>>>> INFO 16:42:31,246 | >>>>>>>>>>> org.apache.james.container.spring.JamesServerApplicationContext | >>>>>>>>>>> Refreshing >>>>>>>>>>> >>>> org.apache.james.container.spring.JamesServerApplicationContext@27e59128 >>>>>> >>>>>> : >>>>>>>>>>> >>>>>>>>>>> startup date [Mon Jan 24 16:42:31 CET 2011]; root of context >>>>>> >>>>>> hierarchy >>>>>>>>>>> >>>>>>>>>>> INFO 16:42:31,859 | >>>>>>>>>>> org.apache.james.container.spring.JamesServerApplicationContext | >>>>>>>> >>>>>>>> Closing >>>> >>>> org.apache.james.container.spring.JamesServerApplicationContext@27e59128 >>>>>> >>>>>> : >>>>>>>>>>> >>>>>>>>>>> startup date [Mon Jan 24 16:42:31 CET 2011]; root of context >>>>>> >>>>>> hierarchy >>>>>>>>>>> >>>>>>>>>>> I tried to make a log : >>>>>>>>>>> >>>>>>>>>>> Log log = LogFactory.getLog(Main.class.getName()); >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> But I got : >>>>>>>>>>> >>>>>>>>>>> log4j:WARN No appenders could be found for logger >>>>>>>>>>> (com.kiengi.recup.POP.Main). >>>>>>>>>>> >>>>>>>>>>> log4j:WARN Please initialize the log4j system properly. >>>>>>>>>>> >>>>>>>>>>> So the only solution I have is : >>>>>>>>>>> >>>>>>>>>>> System.out.println("String to write to the console..."); >>>>>>>>>>> >>>>>>>>>>> Which is a little bit archaic... >>>>>>>>>>> >>>>>>>>>>> So do you have any clue about how to log properly to the Java (or >>>>>>>> >>>>>>>> Eclipse) >>>>>>>>>>> >>>>>>>>>>> console? >>>>>>>>>>> >>>>>>>>>>> Thx >>>>>>>>>>> Luc. >>>>>>>>>>> >>>>>>>>>>> 2011/1/21 Norman Maurer<nor...@apache.org> >>>>>>>>>>> >>>>>>>>>>> So you want to store a MimeMessage instance in the Mailbox ? >>>>>>>>>>>> >>>>>>>>>>>> You could use the MimeMessageInputStream class for this: >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>> >>>> http://svn.apache.org/viewvc/james/server/trunk/core/src/main/java/org/apache/james/core/MimeMessageInputStream.java?view=markup >>>>>>>>>>>> >>>>>>>>>>>> Bye, >>>>>>>>>>>> Norman >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> 2011/1/21 Luc Saulière<luc.sauli...@gmail.com>: >>>>>>>>>>>> >>>>>>>>>>>>> It worked, that was a weird eclipse behaviour... >>>>>>>>>>>>> You are very helpful, may I bother you one more time? maybe the >>>>>>>> >>>>>>>> last... >>>>>>>>>>>>> >>>>>>>>>>>>> maybe not :) >>>>>>>>>>>>> >>>>>>>>>>>>> Now I can easily store my messages in the db, ok, but the >>>> >>>> source >>>>>> >>>>>> of >>>>>>>> >>>>>>>> my >>>>>>>>>>>>> >>>>>>>>>>>>> messages is an inputStream. >>>>>>>>>>>>> I don't know how to make an Inputstream from a mail message (as >>>>>>>>>>>>> >>>>>>>>>>>> javax.Mail, >>>>>>>>>>>> >>>>>>>>>>>>> MimeMessage or Message...) cause each try I made gave me a "bad >>>>>>>> >>>>>>>> header >>>>>>>>>>>>> >>>>>>>>>>>>> message...". >>>>>>>>>>>>> I see in James code the MessageResultImpl class which looks >>>> >>>> like a >>>>>>>>>>>> >>>>>>>>>>>> Message >>>>>>>>>>>> >>>>>>>>>>>>> def but with Content type instead of MimeMessage... >>>>>>>>>>>>> I will try to parse every ppty of the message and make a new >>>>>>>>>>>>> >>>>>>>>>>>> MessageResult >>>>>>>>>>>> >>>>>>>>>>>>> and find a way to extract the damned InputStream I need... >>>>>>>>>>>>> >>>>>>>>>>>>> Thx >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> 2011/1/21 Norman Maurer<nor...@apache.org> >>>>>>>>>>>>> >>>>>>>>>>>>> Maybe some nice classpath problem with eclipse or something >>>> >>>> like >>>>>>>>>>>>>> >>>>>>>>>>>>>> that.. maybe just rename your beans config to something else >>>> >>>> and >>>>>> >>>>>> use >>>>>>>>>>>>>> >>>>>>>>>>>>>> it in the Main class. Just to be sure it not use the wrong >>>> >>>> one.. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Bye, >>>>>>>>>>>>>> Norman >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2011/1/21 Luc Saulière<luc.sauli...@gmail.com>: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Thx, it works perfectly with only only 7 beans. >>>>>>>>>>>>>>> Just one weird thing, in my J3M2 project which worked >>>> >>>> perfectly >>>>>>>>>>>>>> >>>>>>>>>>>>>> yesterday, I >>>>>>>>>>>>>> >>>>>>>>>>>>>>> have now a XmlBeanDefinitionStoreException, which specify the >>>>>>>>>>>>>>> spring-beans.xml line number 1770!!?! >>>>>>>>>>>>>>> weird, isn't it? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 2011/1/20 Norman Maurer<nor...@apache.org> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi there, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> exactly. In fact you will prolly only need to instance the >>>>>> >>>>>> needed >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> MailboxManager/SubscriptionManager/Authenticator >>>> >>>> implementation >>>>>>>> >>>>>>>> you >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> want to use in your code or just wire these implementations >>>> >>>> via >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> spring. Everything else should not be needed. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Bye, >>>>>>>>>>>>>>>> Norman >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 2011/1/20 Luc Saulière<luc.sauli...@gmail.com>: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Ok it works, I didnt know how to inject beans in my main >>>>>> >>>>>> class... >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> It loads all the james app before sending one mail to the >>>> >>>> bdd, >>>>>>>> >>>>>>>> but >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> it >>>>>>>>>>>>> >>>>>>>>>>>>> works >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> :) In fact I hacked all the spring-bean.xml (from J3M2) >>>>>> >>>>>> without >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> deleting >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> any >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> bean... I just have to select those I need. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Thanks for your help, >>>>>>>>>>>>>>>>> Luc >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> 2011/1/20 Eric Charles<e...@apache.org> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Yes, direct injection does not work in main class because >>>> >>>> it >>>>>> >>>>>> is >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> not >>>>>>>>>>>>> >>>>>>>>>>>>> fetched >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> from spring context. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> 1. you can create a bean and move the @Resource within, >>>>>> >>>>>> define >>>>>>>> >>>>>>>> the >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> bean >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> in >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> spring xml context, spring should inject the mailboxmanager >>>> >>>> in >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> your >>>>>>>>>>>>> >>>>>>>>>>>>> bean. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> You can get your bean with context.getBean("mybean") in >>>> >>>> main >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> class. >>>>>>>>>>>>> >>>>>>>>>>>>> 2. or simply call from the main class >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> context.getBean("mailboxmanager"), >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> it >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> should give you the mailboxmanager,... but it seems you had >>>> >>>> an >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> exception >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> (if >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> such, could you provide the stack trace ?). >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Tks, >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Eric >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On 20/01/2011 15:42, Luc Saulière wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Hello Eric, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> That was quite the code I tested yesterday, but I got >>>> >>>> still >>>>>> >>>>>> the >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> same >>>>>>>>>>>>> >>>>>>>>>>>>> exception, because the MailboxManager is not initialized (null >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> pointer >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> exception). >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I tried the @Resource annotation, I got 'null pointer' >>>> >>>> and I >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> tried >>>>>>>>>>>>> >>>>>>>>>>>>> the >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> BeanFactory way but I got a 'bean creation exception'... >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I think the first method is the good one, but I'm still >>>>>> >>>>>> looking >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> after >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> magic method to instantiate my MailboxManager. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Thx, >>>>>>>>>>>>>>>>>>> Luc. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 2011/1/20 Eric Charles<e...@apache.org> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Probably you did not instantiate spring context. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> As first shot, you could copy Main to YourMain >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>> >>>> https://svn.apache.org/repos/asf/james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/Main.java >>>>>>>>>>>>> >>>>>>>>>>>>> and hack it with for example with code sample in [1]. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> You can also hack the spring context xml files if you >>>> >>>> don't >>>>>>>> >>>>>>>> want >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> to >>>>>>>>>>>>> >>>>>>>>>>>>> load >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> all the beans, but you will still need a few of them to >>>> >>>> access >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> the >>>>>>>>>>>>> >>>>>>>>>>>>> mailbox. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Obviously, we could discuss the following: >>>>>>>>>>>>>>>>>>>> 1. Add some code simple samples for basic operations on >>>>>>>> >>>>>>>> mailbox. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> 2. Have a spring context for mailbox that could be used >>>> >>>> as >>>>>> >>>>>> a >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> stand-alone >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> (and also be imported in server). >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Tks, >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Eric >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> [1] code sample (non compiling). >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> public class YourMain { >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> private static Log log = >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> LogFactory.getLog(Main.class.getName()); >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> @Ressource(name="mailboxmanager") >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> private static MailboxManager; >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> public static void main(String[] args) throws >>>>>> >>>>>> IOException { >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> final JamesServerApplicationContext context = new >>>>>>>>>>>>>>>>>>>> JamesServerApplicationContext(new String[] { >>>>>>>>>>>>>>>>>>>> "context/james-server-context.xml" }); >>>>>>>>>>>>>>>>>>>> context.registerShutdownHook(); >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> // Bad code practice - Refactor it!!! >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> MailboxPath mailboxPath = >>>>>>>> >>>>>>>> MailboxPath.inbox("userName"); >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> MailboxSession mailboxSession = >>>>>>>>>>>>>>>>>>>> mailboxManager.createSystemSession(userName30, log) >>>>>>>>>>>>>>>>>>>> >>>>>> mailboxManager.startProcessingRequest(mailboxSession); >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> try { >>>>>>>>>>>>>>>>>>>> mailboxManager.createMailbox(mailboxPath, >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> mailboxSession); >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> catch (MailboxExistsException e) { >>>>>>>>>>>>>>>>>>>> // Do nothing, the mailbox already >>>> >>>> exists. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>> mailboxManager.endProcessingRequest(mailboxSession); >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> MessageManager messageManager = >>>>>>>>>>>>>>>>>>>> mailboxManager.getMailbox("mailboxPath", >>>> >>>> mailboxSession); >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> // instanciate an input stream that contains your >>>>>> >>>>>> email >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> content >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> (body, header,...) >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> messageManager.appendMessage(your-input-stream, >>>>>>>>>>>>>>>>>>>> new Date(), >>>>>>>>>>>>>>>>>>>> mailboxSession, >>>>>>>>>>>>>>>>>>>> isRecent, >>>>>>>>>>>>>>>>>>>> flags); >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> mailboxManager.endProcessingRequest(mailboxSession); >>>>>>>>>>>>> >>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On 19/01/2011 20:07, Luc Saulière wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Thx for answering so quickly, I tried this in a new >>>>>> >>>>>> package >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> inside >>>>>>>>>>>>> >>>>>>>>>>>>> james-server-container-spring project... >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> I have a public static void main(String[] args) >>>> >>>> containing >>>>>> >>>>>> my >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> private >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> staticMailboxManager mailboxManager which >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> is injected with the annotation >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> @Resource(name="mailboxmanager") >>>>>>>>>>>>> >>>>>>>>>>>>> from >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> spring-bean.xml. >>>>>>>>>>>>>>>>>>>>> But it does not succeed in initializing the variable >>>> >>>> and I >>>>>>>> >>>>>>>> get >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> a >>>>>>>>>>>>> >>>>>>>>>>>>> NullPointerException as soon as I use it... >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> How can I initialize my beans without running the >>>> >>>> entire >>>>>>>> >>>>>>>> James >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> app? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Tks. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> 2011/1/19 Eric Charles<e...@apache.org> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Hi Luc, >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Yes, code has changed in trunk since M2 (we don't use >>>>>>>>>>>>>>>>>>>>> MailServer >>>>>>>>>>>>> >>>>>>>>>>>>> anymore). >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> In M2, or in trunk, the way to store mail is the same. >>>>>>>>>>>>>>>>>>>>>> If you are deploying the your code/class in the james >>>>>> >>>>>> spring >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> container, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> you >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> need to inject the mailboxmanager (with >>>>>>>>>>>>>>>>>>>>>> @Resources(name="mailboxmanager") >>>>>>>>>>>>>>>>>>>>>> and have a block of code such as: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> MailboxPath mailboxPath = >>>> >>>> MailboxPath.inbox(userName30); >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> MailboxSession mailboxSession = >>>>>>>>>>>>>>>>>>>>>> mailboxManager.createSystemSession(userName30, log) >>>>>>>>>>>>>>>>>>>>>> MessageManager messageManager = >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> mailboxManager.getMailbox(mailboxPath, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> mailboxSession); >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> messageManager.appendMessage(your-input-stream, >>>>>>>>>>>>>>>>>>>>>> new Date(), >>>>>>>>>>>>>>>>>>>>>> mailboxSession, >>>>>>>>>>>>>>>>>>>>>> isRecent, >>>>>>>>>>>>>>>>>>>>>> flags); >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> mailboxManager.endProcessingRequest(mailboxSession); >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> I just realize I can't find a simple test case to in >>>>>> >>>>>> trunk >>>>>>>> >>>>>>>> to >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> show >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> this >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> (or >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> maybe I didn't look good). >>>>>>>>>>>>>>>>>>>>>> If we don't have this, maybe you could open a jira so >>>> >>>> we >>>>>> >>>>>> can >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> further >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> provide test samples. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> (this comes from the fact that all our tests were >>>> >>>> made >>>>>> >>>>>> from >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> an >>>>>>>>>>>>> >>>>>>>>>>>>> "imap >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> perspective", we moved the imap test to another project, >>>> >>>> but >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> we >>>>>>>>>>>>> >>>>>>>>>>>>> probably >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> should further enrich the pure mailbox test >>>>>> >>>>>> cases/samples). >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Tks, >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Eric >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> On 19/01/2011 18:04, Luc Sauličre wrote: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> I'm developing with Math on the same mail app. We >>>> >>>> didn't >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> succeed >>>>>>>>>>>>> >>>>>>>>>>>>> in >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> storing >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> mail as james3 does. In fact the SieveMailet class >>>> >>>> does >>>>>> >>>>>> not >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> have >>>>>>>>>>>>> >>>>>>>>>>>>> a >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> setUsersRepo method, I think you're dealing with a newer >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> version >>>>>>>>>>>>> >>>>>>>>>>>>> of >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> James3... >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> We are developing with the M2 one and SieveMailet >>>> >>>> have a >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> setMailserver >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> method instead. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> So, is there any way to store a mail (from another >>>> >>>> IMAP >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> connection >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> for >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> instance) in the James3 mySQL db, as James3 does (i.e. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> filling >>>>>>>>>>>>> >>>>>>>>>>>>> correctly >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> all >>>>>>>>>>>>>>>>>>>>>>> the appropriate tables...)? >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Thx for helping. >>>>>>>>>>>>>>>>>>>>>>> Luc. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> 2011/1/17 Eric Charles<e...@apache.org> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> The mails store magic occurs in LocalDelivery where >>>> >>>> the >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> MailboxManager >>>>>>>>>>>>>>>>>>>>>>>> is >>>>>>>>>>>>>>>>>>>>>>>> injected. >>>>>>>>>>>>>>>>>>>>>>>> (more precise, LocalDelivery uses the SieveMailet >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> initialized >>>>>>>>>>>>> >>>>>>>>>>>>> with >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> MailboxManager) >>>>>>>>>>>>>>>>>>>>>>>> >>>> sieveMailet.setUsersRepository(usersRepository); >>>> sieveMailet.setMailboxManager(mailboxManager); >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> sieveMailet.init(m); >>>>>>>>>>>>>>>>>>>>>>>> sieveMailet.setQuiet(true); >>>>>>>>>>>>>>>>>>>>>>>> ... >>>>>>>>>>>>>>>>>>>>>>>> if (mail.getState() != Mail.GHOST) { >>>>>>>>>>>>>>>>>>>>>>>> sieveMailet.service(mail); >>>>>>>>>>>>>>>>>>>>>>>> } >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> You only need to know that *MailRepository is not >>>> >>>> for >>>>>>>> >>>>>>>> users' >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> mail >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> storage >>>>>> >>>>>> http://james.apache.org/server/3/feature-persistence.html >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Both topics (mailet usage for delivery + separate >>>> >>>> mail >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> stores) >>>>>>>>>>>>> >>>>>>>>>>>>> are >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> subject >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> to discussion will certainly change. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Tks, >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Eric >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> On 17/01/2011 11:43, math math wrote: >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Hello everybody, >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> I am developping a web mail project using james >>>> >>>> 3M2. >>>>>> >>>>>> I'm >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> trying >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> to >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> store >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> mails in a "james3" way with an external >>>> >>>> application >>>>>>>> >>>>>>>> using >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> MySql >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> DB. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I've >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> tried to store mails using mysq database >>>> >>>> repositories >>>>>> >>>>>> for >>>>>>>> >>>>>>>> a >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> few >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> days >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> now >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> but >>>>>>>>>>>>>>>>>>>>>>>>> i didn't succeed to do so... I 've traced the store >>>>>>>> >>>>>>>> method >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> of >>>>>>>>>>>>> >>>>>>>>>>>>> JDBCMailRepository class and also the ToRepository one. But >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> still >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> don't >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> know >>>>>>>>>>>>>>>>>>>>>>>>> how James 3 is storing mails in the DB. >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> I would be very glad if someone could help me in >>>> >>>> this >>>>>>>> >>>>>>>> task. >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>>>>>>>>>> Mat >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> >>>> --------------------------------------------------------------------- >>>>>>>>>>>>> >>>>>>>>>>>>> To unsubscribe, e-mail: >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> server-dev-unsubscr...@james.apache.org >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> For additional commands, e-mail: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> server-dev-h...@james.apache.org >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>> --------------------------------------------------------------------- >>>>>>>>>>>>> >>>>>>>>>>>>> To unsubscribe, e-mail: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> server-dev-unsubscr...@james.apache.org >>>>>>>>>>>>> >>>>>>>>>>>>> For additional commands, e-mail: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> server-dev-h...@james.apache.org >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>> --------------------------------------------------------------------- >>>>>>>>>>>>> >>>>>>>>>>>>> To unsubscribe, e-mail: >>>> >>>> server-dev-unsubscr...@james.apache.org >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> For additional commands, e-mail: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> server-dev-h...@james.apache.org >>>>>>>>>>>>>>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>>>>>>> >>>>>>>>>>>>> To unsubscribe, e-mail: >>>> >>>> server-dev-unsubscr...@james.apache.org >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> For additional commands, e-mail: >>>>>>>> >>>>>>>> server-dev-h...@james.apache.org >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> To unsubscribe, e-mail: >>>>>> >>>>>> server-dev-unsubscr...@james.apache.org >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> For additional commands, e-mail: >>>>>> >>>>>> server-dev-h...@james.apache.org >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>>>>>>>> >>>>>>>>>>>>>> To unsubscribe, e-mail: >>>> >>>> server-dev-unsubscr...@james.apache.org >>>>>>>>>>>>>> >>>>>>>>>>>>>> For additional commands, e-mail: >>>>>> >>>>>> server-dev-h...@james.apache.org >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>> --------------------------------------------------------------------- >>>>>>>>>>>> >>>>>>>>>>>> To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org >>>>>>>>>>>> For additional commands, e-mail: >>>> >>>> server-dev-h...@james.apache.org >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>> >>>> --------------------------------------------------------------------- >>>>>>>>>> >>>>>>>>>> To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org >>>>>>>>>> For additional commands, e-mail: server-dev-h...@james.apache.org >>>>>>>>>> >>>>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>> To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org >>>>>>>> For additional commands, e-mail: server-dev-h...@james.apache.org >>>>>>>> >>>>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org >>>>>> For additional commands, e-mail: server-dev-h...@james.apache.org >>>>>> >>>>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org >>>> For additional commands, e-mail: server-dev-h...@james.apache.org >>>> >>>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org >> For additional commands, e-mail: server-dev-h...@james.apache.org >> >> > > E > > --------------------------------------------------------------------- > To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org > For additional commands, e-mail: server-dev-h...@james.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org