Hi Max,

at least one of the problems seems like a OpenJPA bug for me.

Could you try to alter the Message Table and set the content column to
the type of "LONGBLOG"  and restart JAMES?

The other problem seems like a race condition. I will try to reproduce it..

Thx,
Norman


2010/4/23 Max Levinson <[email protected]>:
> Hi guys,
>
> I am confirming that I have the same error as Oleg has when I uncomment this
>  <bean id="domainlist" class="org.apache.james.vut.JDBCVirtualUserTable" />
>
> I read this post and tried to follow Norman's recomendations, so I commented
> out
>
> <bean id="domainlist" class="org.apache.james.vut.JDBCVirtualUserTable" />
>
> and uncommented <bean id="domainlist"
> class="org.apache.james.domain.JDBCDomainList"/>
>
> Then I connected to  remote manager to add domain and user
>
> [r...@srv1 conf]# telnet localhost 4555
> Trying 127.0.0.1...
> Connected to localhost.localdomain (127.0.0.1).
> Escape character is '^]'.
> JAMES Remote Administration Tool
> Please enter your login and password
> Login id:
> root
> Password:
> root
> Welcome root. HELP for a list of commands
> adddomain testtest.com
> Adding domain testtest.com successful
> adduser [email protected] password567
>
> So when I am adding this user nothing happens next and I am getting this
> error in the log(Please bare in mind that I use postgreSQL as a DB):
>
> INFO  13:14:43,198 | james.remotemanager | Login for root successful
> INFO  13:14:54,944 | james.domainlist | Add domain testtest.com to
> DomainList
> 196493  James  INFO   [NioProcessor-1] openjpa.Runtime - Starting OpenJPA
> 1.2.2
> 196704  James  INFO   [NioProcessor-1] openjpa.jdbc.JDBC - Using dictionary
> class "org.apache.openjpa.jdbc.sql.PostgresDictionary".
> ERROR 13:16:53,236 | james.remotemanager | Caught exception: null
> <openjpa-1.2.2-r422266:898935 fatal user error>
> org.apache.openjpa.persistence.ArgumentException:
> "org.apache.james.imap.jpa.mail.model.JPAMessage.content" declares a column
> that is not compatible with the expected type "blob".  Column details:
> Full Name: Message.content
> Type: integer
> Size: 1048576000
> Default: null
> Not Null: false
>
>        at
> org.apache.openjpa.jdbc.meta.MappingInfo.mergeColumn(MappingInfo.java:662)
>        at
> org.apache.openjpa.jdbc.meta.MappingInfo.createColumns(MappingInfo.java:518)
>        at
> org.apache.openjpa.jdbc.meta.ValueMappingInfo.getColumns(ValueMappingInfo.java:143)
>        at
> org.apache.openjpa.jdbc.meta.strats.HandlerStrategies.map(HandlerStrategies.java:63)
>        at
> org.apache.openjpa.jdbc.meta.strats.HandlerFieldStrategy.map(HandlerFieldStrategy.java:81)
>        at
> org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:121)
>        at
> org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:80)
>        at
> org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:454)
>        at
> org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:419)
>        at
> org.apache.openjpa.jdbc.meta.ClassMapping.resolveNonRelationMappings(ClassMapping.java:881)
>        at
> org.apache.openjpa.jdbc.meta.MappingRepository.prepareMapping(MappingRepository.java:418)
>        at
> org.apache.openjpa.meta.MetaDataRepository.preMapping(MetaDataRepository.java:757)
>        at
> org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:644)
>        at
> org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:393)
>        at
> org.apache.openjpa.meta.MetaDataRepository.getMetaDataLocking(MetaDataRepository.java:366)
>        at
> org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:360)
>        at
> org.apache.openjpa.jdbc.meta.MappingRepository.getMapping(MappingRepository.java:356)
>        at
> org.apache.openjpa.jdbc.meta.MappingTool.getMapping(MappingTool.java:676)
>        at
> org.apache.openjpa.jdbc.meta.MappingTool.buildSchema(MappingTool.java:748)
>        at
> org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:646)
>        at
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:153)
>        at
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:119)
>        at
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:189)
>        at
> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
>        at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
>        at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
>        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.springframework.orm.jpa.AbstractEntityManagerFactoryBean$ManagedEntityManagerFactoryInvocationHandler.invoke(AbstractEntityManagerFactoryBean.java:431)
>        at $Proxy27.createEntityManager(Unknown Source)
>        at
> org.apache.james.server.jpa.JPAUsersRepository.contains(JPAUsersRepository.java:248)
>        at
> org.apache.james.remotemanager.core.AddUserCmdHandler.onCommand(AddUserCmdHandler.java:105)
>        at
> org.apache.james.remotemanager.core.AddUserCmdHandler.onCommand(AddUserCmdHandler.java:43)
>        at
> org.apache.james.protocols.api.AbstractCommandDispatcher.onLine(AbstractCommandDispatcher.java:140)
>        at
> org.apache.james.socket.mina.AbstractIoHandler.messageReceived(AbstractIoHandler.java:76)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>        at
> org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>        at
> org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>        at
> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
>        at
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>        at
> org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>        at
> org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426)
>        at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:638)
>        at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:598)
>        at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:587)
>        at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:61)
>        at
> org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:969)
>        at
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>        at java.lang.Thread.run(Thread.java:619)
>
> Then i've tried to do it one more time, like this:
>
> adduser [email protected] password56778
>
> I've got another error, related to SQL:
>
> ERROR 13:20:39,757 | james.remotemanager | Caught exception: null
> <openjpa-1.2.2-r422266:898935 nonfatal user error>
> org.apache.openjpa.persistence.ArgumentException: ERROR: relation
> "jamesuser" does not exist
>  Позиция: 28 {prepstmnt 10041136 SELECT COUNT(t0.name) FROM JamesUser t0
> WHERE (t0.name = ?) [params=(String) [email protected]]} [code=0,
> state=42P01]
>        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:857)
>        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:779)
>        at
> org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525)
>        at
> org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:254)
>        at
> org.apache.openjpa.persistence.QueryImpl.getSingleResult(QueryImpl.java:317)
>        at
> org.apache.james.server.jpa.JPAUsersRepository.contains(JPAUsersRepository.java:251)
>        at
> org.apache.james.remotemanager.core.AddUserCmdHandler.onCommand(AddUserCmdHandler.java:105)
>        at
> org.apache.james.remotemanager.core.AddUserCmdHandler.onCommand(AddUserCmdHandler.java:43)
>        at
> org.apache.james.protocols.api.AbstractCommandDispatcher.onLine(AbstractCommandDispatcher.java:140)
>        at
> org.apache.james.socket.mina.AbstractIoHandler.messageReceived(AbstractIoHandler.java:76)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:713)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>        at
> org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>        at
> org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>        at
> org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375)
>        at
> org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>        at
> org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:793)
>        at
> org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>        at
> org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426)
>        at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:638)
>        at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:598)
>        at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:587)
>        at
> org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:61)
>        at
> org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:969)
>        at
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>        at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: ERROR:
> relation "jamesuser" does not exist
>  Позиция: 28 {prepstmnt 10041136 SELECT COUNT(t0.name) FROM JamesUser t0
> WHERE (t0.name = ?) [params=(String) [email protected]]} [code=0,
> state=42P01]
>        at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192)
>        at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$700(LoggingConnectionDecorator.java:57)
>        at
> org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeQuery(LoggingConnectionDecorator.java:852)
>        at
> org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:262)
>        at
> org.apache.openjpa.jdbc.sql.PostgresDictionary$PostgresPreparedStatement.executeQuery(PostgresDictionary.java:520)
>        at
> org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:262)
>        at
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeQuery(JDBCStoreManager.java:1599)
>        at
> org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:252)
>        at
> org.apache.openjpa.jdbc.sql.SelectImpl.executeQuery(SelectImpl.java:509)
>        at
> org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:384)
>        at
> org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:339)
>        at
> org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:420)
>        at
> org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:230)
>        at
> org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220)
>        at
> org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:206)
>        at
> org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.open(SelectResultObjectProvider.java:94)
>        at
> org.apache.openjpa.kernel.QueryImpl$PackingResultObjectProvider.open(QueryImpl.java:1954)
>        at
> org.apache.openjpa.kernel.QueryImpl.singleResult(QueryImpl.java:1284)
>        at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1221)
>        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:990)
>        at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:848)
>        ... 42 more
>
>
> 2010/4/21 Norman Maurer <[email protected]>
>
>> Hi Eric,
>>
>> well its not an incorrect combination because even if the user does
>> not exists on the server you could do something with a mailet to
>> handle it.. The the pain you get when you are flexible ;)
>>
>> Bye,
>> Norman
>>
>> 2010/4/21 Eric Charles <[email protected]>:
>> > When you use a incorrect combination, james still says:
>> > Adding mapping successful: true
>> >
>> > After this, the account you are using doesn't receive mails anymore.
>> >
>> > Maybe james should provide an error message if a incorrect combination is
>> > invoked by the user.
>> > Something like "[fromMapping] does not exist. Please use adduser to
>> create
>> > [fromMapping]".
>> >
>> > Tks,
>> > Eric
>> >
>> >
>> > On 04/21/2010 09:22 AM, Eric Charles wrote:
>> >>
>> >> Yes, it works :) Tks!
>> >>
>> >> The documentation from help drove me into error:
>> >> addmapping ([table=virtualusertablename]) [tou...@todomain]
>> [fromMapping]
>> >>
>> >> ... and I tought I had tried this combination some time ago without
>> >> success.
>> >>
>> >> So far so good.
>> >>
>> >> Eric
>> >>
>> >>
>> >> On 04/21/2010 09:03 AM, Norman Maurer wrote:
>> >>>
>> >>> Ho Eric,
>> >>>
>> >>> I don't have the source handy atm.
>> >>>
>> >>> But I think it should Be:
>> >>>
>> >>> addmapping [email protected] [email protected]
>> >>>
>> >>> bye
>> >>> Norman
>> >>>
>> >>> 2010/4/20, Eric Charles<[email protected]>:
>> >>>>
>> >>>> Hi Norman,
>> >>>>
>> >>>> Yes, spoolmanager.xml contains :
>> >>>> <mailet match="All" class="VirtualUserTable">
>> >>>> <virtualusertable>DefaultVirtualUserTable</virtualusertable>
>> >>>> </mailet>
>> >>>>
>> >>>> To complete the explanation, when
>> >>>> addmapping [email protected] [email protected]
>> >>>> is done, I even don't receive any mail at all on the
>> [email protected].
>> >>>>
>> >>>> When I remove the mapping, I receive again the mails on
>> >>>> [email protected].
>> >>>>
>> >>>> Tks,
>> >>>>
>> >>>> Eric
>> >>>>
>> >>>> On 04/20/2010 10:04 PM, Norman Maurer wrote:
>> >>>>>
>> >>>>> Cool ; we love contributions. About the mapping problem.... Are you
>> >>>>> sure you have the VirtualUserTable mailet defined in he
>> >>>>> spoolmanager.xml ?
>> >>>>>
>> >>>>> Bye
>> >>>>> Norman
>> >>>>>
>> >>>>> 2010/4/20, Eric Charles<[email protected]>:
>> >>>>>
>> >>>>>> Hi Norman,
>> >>>>>>
>> >>>>>> I will try to resolve JAMES-990 for the exception at startup.
>> >>>>>>
>> >>>>>> For the mapping, suppose [email protected] exists. Via
>> remotemanager:
>> >>>>>> addmapping [email protected] [email protected]
>> >>>>>>
>> >>>>>> Send a mail to [email protected]
>> >>>>>> See in the log [email protected] and [email protected]:
>> >>>>>> INFO  20:18:57,537 | james.smtpserver | Successfully spooled mail
>> >>>>>> Mail1271787537534-29795 from [email protected] on 195.238.6.53 for
>> >>>>>> [[email protected]]
>> >>>>>>
>> >>>>>> Succesfully spooled, but not seen via imap/pop3.
>> >>>>>>
>> >>>>>> Tks,
>> >>>>>>
>> >>>>>> Eric
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> On 04/07/2010 06:22 PM, Norman Maurer wrote:
>> >>>>>>
>> >>>>>>> Hi Eric,
>> >>>>>>>
>> >>>>>>> the error about not able to add domain should be fixed in current
>> >>>>>>> trunk. If you still have the problem open an jira issue.
>> >>>>>>>
>> >>>>>>> What is the problem with the mappings?
>> >>>>>>> Could you give me some details?
>> >>>>>>>
>> >>>>>>> Thx
>> >>>>>>> Norman
>> >>>>>>>
>> >>>>>>> 2010/4/7, Eric Charles<[email protected]>:
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>> Hi Oleg,
>> >>>>>>>>
>> >>>>>>>> This is usually the steps I take to configure james (from trunk):
>> >>>>>>>> - James.xml :<enableVirtualHosting>    true</enableVirtualHosting>
>> >>>>>>>> - spring-beans.xml : comment<bean id="domainlist"
>> >>>>>>>> class="org.apache.james.domain.XMLDomainList" />
>> >>>>>>>> - spring-beans.xml : uncomment<bean id="domainlist"
>> >>>>>>>> class="org.apache.james.vut.JDBCVirtualUserTable" />
>> >>>>>>>> - domainlists.xml : uncomment
>> >>>>>>>> <repositoryPath>db://maildb/domain</repositoryPath>
>> >>>>>>>> <sqlFile>file://conf/sqlResources.xml</sqlFile>
>> >>>>>>>>
>> >>>>>>>> This should allow james to work with an embedded derby to manage
>> >>>>>>>> multiple domains.
>> >>>>>>>>
>> >>>>>>>> run.sh :
>> >>>>>>>> - the first time, you will get a
>> >>>>>>>> org.apache.commons.configuration.ConfigurationException:
>> Configured
>> >>>>>>>> defaultdomain could not get added to DomainList (not very welcome
>> >>>>>>>> message...)
>> >>>>>>>> - don't worry, run twice: it works.
>> >>>>>>>>
>> >>>>>>>> telnet localhost 4555 (root / root)
>> >>>>>>>> adddomain test.com
>> >>>>>>>> listdomains
>> >>>>>>>> Domains:
>> >>>>>>>> test.com
>> >>>>>>>> localhost
>> >>>>>>>> 127.0.1.1
>> >>>>>>>> 204.12.0.50
>> >>>>>>>> 127.0.1.1
>> >>>>>>>> adduser [email protected] badpwd
>> >>>>>>>> User [email protected] added
>> >>>>>>>> listusers
>> >>>>>>>> Existing accounts 1
>> >>>>>>>> user: [email protected]
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> I still have a small concern about mapping.
>> >>>>>>>> forward and alias have been removed
>> >>>>>>>> (http://markmail.org/message/4ihtdtqiggcu74cl).
>> >>>>>>>>
>> >>>>>>>> I tried to make the trick with the mapping function (say for
>> example
>> >>>>>>>> [email protected] is the same as [email protected] and the same as
>> >>>>>>>> [email protected]), but I didn't succeed to make it work.
>> >>>>>>>>
>> >>>>>>>> Hope this help you.
>> >>>>>>>> Tks,
>> >>>>>>>>
>> >>>>>>>> Eric
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> On 01/-10/-28163 08:59 PM,  wrote:
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>>> ok if you want virtualhosting use the JDBCDomainList or
>> >>>>>>>>> XMLDomainList.
>> >>>>>>>>> Then when you add a new user to the server you would connect via
>> >>>>>>>>> telnet to remotemanager and use the FQUN (like
>> [email protected])
>> >>>>>>>>> when adding a user. Be sure to first create the domain if you use
>> >>>>>>>>> JDBCDomainList via remotemanager. If you use XMLDomainList you
>> just
>> >>>>>>>>> need to add the domain to the domainnames config.
>> >>>>>>>>>
>> >>>>>>>>> Both of these DomainList implementation works without problems in
>> >>>>>>>>> conjunction with virtualhosting. So can you give me a hint
>> "where"
>> >>>>>>>>> it
>> >>>>>>>>> says to disable virtual hosting ? Maybe its outdated info ..
>> >>>>>>>>>
>> >>>>>>>>> Thx,
>> >>>>>>>>> Norman
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>
>> >>>>>>>>
>> ---------------------------------------------------------------------
>> >>>>>>>> To unsubscribe, e-mail: [email protected]
>> >>>>>>>> For additional commands, e-mail:
>> [email protected]
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>
>> ---------------------------------------------------------------------
>> >>>>>>> To unsubscribe, e-mail: [email protected]
>> >>>>>>> For additional commands, e-mail: [email protected]
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>
>> ---------------------------------------------------------------------
>> >>>>>> To unsubscribe, e-mail: [email protected]
>> >>>>>> For additional commands, e-mail: [email protected]
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>> ---------------------------------------------------------------------
>> >>>>> To unsubscribe, e-mail: [email protected]
>> >>>>> For additional commands, e-mail: [email protected]
>> >>>>>
>> >>>>>
>> >>>>
>> >>>> ---------------------------------------------------------------------
>> >>>> To unsubscribe, e-mail: [email protected]
>> >>>> For additional commands, e-mail: [email protected]
>> >>>>
>> >>>>
>> >>> ---------------------------------------------------------------------
>> >>> To unsubscribe, e-mail: [email protected]
>> >>> For additional commands, e-mail: [email protected]
>> >>>
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: [email protected]
>> >> For additional commands, e-mail: [email protected]
>> >>
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [email protected]
>> > For additional commands, e-mail: [email protected]
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to