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

Reply via email to