james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luc Saulière <luc.sauli...@gmail.com>
Subject Re: DB Access with james3
Date Mon, 07 Feb 2011 09:35:27 GMT
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 <norman@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 <eric@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<norman@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.sauliere@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<norman@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.sauliere@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<norman@apache.org>
>>>>>>>
>>>>>>>> Could you give use some more details ? Like the stacktrace etc.
>>>>>>>>
>>>>>>>> Bye,
>>>>>>>> Norman
>>>>>>>>
>>>>>>>>
>>>>>>>> 2011/1/28 Luc Saulière<luc.sauliere@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<eric@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<norman@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.sauliere@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<norman@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.sauliere@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<norman@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.sauliere@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<eric@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<eric@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<eric@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<eric@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-unsubscribe@james.apache.org
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> server-dev-help@james.apache.org
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
>>>>  ---------------------------------------------------------------------
>>>>>>>>>>>>>
>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> server-dev-unsubscribe@james.apache.org
>>>>>>>>>>>>>
>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> server-dev-help@james.apache.org
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>  ---------------------------------------------------------------------
>>>>>>>>>>>>>
>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>
>>>> server-dev-unsubscribe@james.apache.org
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> server-dev-help@james.apache.org
>>>>>>>>>>>>>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>
>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>
>>>> server-dev-unsubscribe@james.apache.org
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>
>>>>>>>> server-dev-help@james.apache.org
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>>
>>>>>> server-dev-unsubscribe@james.apache.org
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>
>>>>>> server-dev-help@james.apache.org
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>
>>>> server-dev-unsubscribe@james.apache.org
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>
>>>>>> server-dev-help@james.apache.org
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>  ---------------------------------------------------------------------
>>>>>>>>>>>>
>>>>>>>>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>>>>>>>>> For additional commands, e-mail:
>>>>
>>>> server-dev-help@james.apache.org
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>>> ---------------------------------------------------------------------
>>>>>>>>>>
>>>>>>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>>>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>>>>>
>>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>>>
>>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>
>>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>>
>>
>
> E
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>

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


Mime
View raw message