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

Reply via email to