[
https://issues.apache.org/jira/browse/JAMES-1105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sylvain Vieujot updated JAMES-1105:
-----------------------------------
Attachment: spring-beans.xml
Gives the following output :
# ./james console
Running Apache James Server Container Spring...
wrapper | --> Wrapper Started as Console
wrapper | Launching a JVM...
jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
jvm 1 |
jvm 1 | INFO 10:31:11,825 |
org.apache.james.container.spring.JamesServerApplicationContext | Refreshing
org.apache.james.container.spring.jamesserverapplicationcont...@7d95d4fe:
startup date [Fri Dec 03 10:31:11 CET 2010]; root of context hierarchy
jvm 1 | log4j:WARN No appenders could be found for logger
(org.apache.commons.configuration.ConfigurationUtils).
jvm 1 | log4j:WARN Please initialize the log4j system properly.
jvm 1 | INFO 10:31:15,322 |
org.apache.james.container.spring.JamesServerApplicationContext | Bean
'configurationProvider' of type [class
org.apache.james.container.spring.lifecycle.SpringConfigurationProvider] is not
eligible for getting processed by all BeanPostProcessors (for example: not
eligible for auto-proxying)
jvm 1 | INFO 10:31:15,331 |
org.apache.james.container.spring.JamesServerApplicationContext | Bean
'logProvider' of type [class
org.apache.james.container.spring.lifecycle.SpringLogProvider] is not eligible
for getting processed by all BeanPostProcessors (for example: not eligible for
auto-proxying)
jvm 1 | INFO 10:31:16,359 | james.domainlist | Set autodetect to: false
jvm 1 | INFO 10:31:16,360 | james.domainlist | Set autodetectIP to: true
jvm 1 | INFO 10:31:16,365 | james.domainlist | Bean
org.apache.james.domainlist.xml.XMLDomainList started.
jvm 1 | INFO 10:31:16,368 | james.mailserver | JAMES init...
jvm 1 | INFO 10:31:16,421 | james.domainlist | Local host is:
localhost.localdomain.
jvm 1 | INFO 10:31:16,424 | james.mailserver | VirtualHosting supported:
false
jvm 1 | INFO 10:31:16,424 | james.mailserver | Defaultdomain: reit.ae
jvm 1 | Apache-James Mail Server 3.0-M1
jvm 1 | INFO 10:31:16,467 | james.smtpserver | Added Handler:
org.apache.james.smtpserver.JamesWelcomeMessageHandler
jvm 1 | INFO 10:31:16,472 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.SMTPCommandDispatcherLineHandler
jvm 1 | INFO 10:31:16,476 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.esmtp.AuthCmdHandler
jvm 1 | INFO 10:31:16,481 | james.smtpserver | Added Handler:
org.apache.james.smtpserver.JamesDataCmdHandler
jvm 1 | INFO 10:31:16,485 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.esmtp.EhloCmdHandler
jvm 1 | INFO 10:31:16,487 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.ExpnCmdHandler
jvm 1 | INFO 10:31:16,491 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.HeloCmdHandler
jvm 1 | INFO 10:31:16,493 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.HelpCmdHandler
jvm 1 | INFO 10:31:16,498 | james.smtpserver | Added Handler:
org.apache.james.smtpserver.JamesMailCmdHandler
jvm 1 | INFO 10:31:16,501 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.NoopCmdHandler
jvm 1 | INFO 10:31:16,504 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.QuitCmdHandler
jvm 1 | INFO 10:31:16,509 | james.smtpserver | Added Handler:
org.apache.james.smtpserver.JamesRcptCmdHandler
jvm 1 | INFO 10:31:16,511 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.RsetCmdHandler
jvm 1 | INFO 10:31:16,514 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.VrfyCmdHandler
jvm 1 | INFO 10:31:16,516 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.esmtp.MailSizeEsmtpExtension
jvm 1 | 28 James WARN [WrapperSimpleAppMain] openjpa.Runtime - An error
occurred while registering a ClassTransformer with PersistenceUnitInfo: name
'James', root URL
[file:/home/james/server/james-server-container-spring-3.0-M3-SNAPSHOT/conf/].
The error has been consumed. To see it, set your openjpa.Runtime log level to
TRACE. Load-time class transformation will not be available.
jvm 1 | INFO 10:31:16,858 | james.usersrepository | Bean LocalUsers
started.
jvm 1 | INFO 10:31:16,859 | james.smtpserver | Added Handler:
org.apache.james.smtpserver.UsersRepositoryAuthHook
jvm 1 | INFO 10:31:16,863 | james.smtpserver | Added Handler:
org.apache.james.smtpserver.AuthRequiredToRelayRcptHook
jvm 1 | INFO 10:31:16,867 | james.smtpserver | Added Handler:
org.apache.james.smtpserver.SenderAuthIdentifyVerificationRcptHook
jvm 1 | INFO 10:31:16,869 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.PostmasterAbuseRcptHook
jvm 1 | INFO 10:31:16,871 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.ReceivedDataLineFilter
jvm 1 | INFO 10:31:16,879 | james.smtpserver | Added Handler:
org.apache.james.smtpserver.DataLineJamesMessageHookHandler
jvm 1 | INFO 10:31:16,881 | james.smtpserver | Added Handler:
org.apache.james.protocols.smtp.core.esmtp.StartTlsCmdHandler
jvm 1 | INFO 10:31:16,883 | james.smtpserver | Added Handler:
org.apache.james.smtpserver.AddDefaultAttributesMessageHook
jvm 1 | INFO 10:31:17,325 | james.smtpserver | Added Handler:
org.apache.james.smtpserver.SendMailHandler
jvm 1 | INFO 10:31:17,344 | james.smtpserver | Added Handler:
org.apache.james.smtpserver.fastfail.ValidRcptHandler
jvm 1 | INFO 10:31:17,350 | james.smtpserver | SMTP Service is running on:
localhost.localdomain.
jvm 1 | INFO 10:31:17,350 | james.smtpserver | SMTP Service handler hello
name is: null
jvm 1 | INFO 10:31:17,350 | james.smtpserver | SMTP Service handler
connection timeout is: 360
jvm 1 | INFO 10:31:17,350 | james.smtpserver | SMTP Service connection
backlog is: 200
jvm 1 | INFO 10:31:17,351 | james.smtpserver | This SMTP server requires
authentication.
jvm 1 | INFO 10:31:17,353 | james.smtpserver | Authorized addresses:
[127.0.0.0/255.0.0.0]
jvm 1 | INFO 10:31:17,353 | james.smtpserver | No maximum message size is
enforced for this server.
jvm 1 | INFO 10:31:17,353 | james.smtpserver | The idle timeout will be
reset every 20480 bytes.
jvm 1 | INFO 10:31:17,553 | james.smtpserver | Dispose SMTP Service
jvm 1 |
jvm 1 | WrapperSimpleApp: Encountered an error running main:
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'exporter' defined in class path resource [spring-beans.xml]: Cannot
resolve reference to bean 'smtpserverssl' while setting bean property 'beans'
with key [TypedStringValue: value
[org.apache.james:type=server,name=smtpserverssl], target type [null]]; nested
exception is org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'smtpserverssl': Invocation of init method failed;
nested exception is java.lang.RuntimeException: Unable to register mbean
jvm 1 | org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'exporter' defined in class path resource
[spring-beans.xml]: Cannot resolve reference to bean 'smtpserverssl' while
setting bean property 'beans' with key [TypedStringValue: value
[org.apache.james:type=server,name=smtpserverssl], target type [null]]; nested
exception is org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'smtpserverssl': Invocation of init method failed;
nested exception is java.lang.RuntimeException: Unable to register mbean
jvm 1 | at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
jvm 1 | at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
jvm 1 | at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:378)
jvm 1 | at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:161)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
jvm 1 | at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
jvm 1 | at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
jvm 1 | at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
jvm 1 | at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
jvm 1 | at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
jvm 1 | at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
jvm 1 | at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
jvm 1 | at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
jvm 1 | at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
jvm 1 | at
org.apache.james.container.spring.JamesServerApplicationContext.<init>(JamesServerApplicationContext.java:37)
jvm 1 | at org.apache.james.container.spring.Main.main(Main.java:29)
jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1 | at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
jvm 1 | at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
jvm 1 | at java.lang.reflect.Method.invoke(Method.java:616)
jvm 1 | at
org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
jvm 1 | at java.lang.Thread.run(Thread.java:636)
jvm 1 | Caused by: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'smtpserverssl': Invocation of init method
failed; nested exception is java.lang.RuntimeException: Unable to register mbean
jvm 1 | at
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1413)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
jvm 1 | at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
jvm 1 | at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
jvm 1 | at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
jvm 1 | at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
jvm 1 | at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
jvm 1 | at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
jvm 1 | ... 24 more
jvm 1 | Caused by: java.lang.RuntimeException: Unable to register mbean
jvm 1 | at
org.apache.james.util.concurrent.JMXEnabledThreadPoolExecutor.registerMBean(JMXEnabledThreadPoolExecutor.java:76)
jvm 1 | at
org.apache.james.util.concurrent.JMXEnabledThreadPoolExecutor.<init>(JMXEnabledThreadPoolExecutor.java:50)
jvm 1 | at
org.apache.james.util.concurrent.JMXEnabledThreadPoolExecutor.newCachedThreadPool(JMXEnabledThreadPoolExecutor.java:165)
jvm 1 | at
org.apache.james.socket.netty.AbstractConfigurableAsyncServer.createBossExecutor(AbstractConfigurableAsyncServer.java:461)
jvm 1 | at
org.apache.james.protocols.impl.AbstractAsyncServer.start(AbstractAsyncServer.java:106)
jvm 1 | at
org.apache.james.socket.netty.AbstractConfigurableAsyncServer.init(AbstractConfigurableAsyncServer.java:260)
jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1 | at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
jvm 1 | at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
jvm 1 | at java.lang.reflect.Method.invoke(Method.java:616)
jvm 1 | at
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:340)
jvm 1 | at
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293)
jvm 1 | at
org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
jvm 1 | ... 33 more
jvm 1 | Caused by: javax.management.InstanceAlreadyExistsException:
org.apache.james:type=server,name=smtpserver,sub-type=threadpool,threadpool=boss
jvm 1 | at
com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:467)
jvm 1 | at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1520)
jvm 1 | at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:986)
jvm 1 | at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:938)
jvm 1 | at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:330)
jvm 1 | at
com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:516)
jvm 1 | at
org.apache.james.util.concurrent.JMXEnabledThreadPoolExecutor.registerMBean(JMXEnabledThreadPoolExecutor.java:74)
jvm 1 | ... 45 more
wrapper | <-- Wrapper Stopped
[root]#
> Support multiple port configurations per protocol
> -------------------------------------------------
>
> Key: JAMES-1105
> URL: https://issues.apache.org/jira/browse/JAMES-1105
> Project: JAMES Server
> Issue Type: Improvement
> Components: IMAPServer, POP3Server, SMTPServer
> Affects Versions: 3.0-M1
> Reporter: Patrick Pyette
> Attachments: spring-beans.xml
>
>
> A single instance of James should be able to accept connections on multiple
> ports for each protocol. As an example, I want to have the following SMTP
> connections:
> port 25: no authorization, no relaying
> port 465: STARTTLS, AUTH required, relaying allowed
> port 587: SMTP/TLS, AUTH required, relaying allowed.
> I can set up the relaying decision with a mailet/matcher, but having multiple
> port configurations per protocol allow me to deploy James as a primary
> multi-domain mail server.
> The config files might look something like:
> <!-- The SMTP server is enabled by default -->
> <!-- Disabling blocks will stop them from listening, -->
> <!-- but does not free as many resources as removing them would -->
> <smtpserver enabled="true">
> <!--
> Port 25 is the well-known/IANA registered port for SMTP.
> Port 465 is the well-known/IANA registered port for SMTP over TLS.
> -->
> <endpoints>
> <endpoint port="465">
> <!-- Uncomment this if you want to bind this port to a specific
> inetaddress -->
> <!-- Please NOTE: you should add this IP also to your
> RemoteAddrNotInNetwork -->
> <!-- in order to avoid relay check for locallly generated bounces
> -->
> <!--
> <bind> </bind>
> -->
> <!-- Set to true to support STARTTLS or TLS for the Socket.
> To use this you need to copy sunjce_provider.jar to
> /path/james/lib directory.
> -->
> <tls socketTLS="false" startTLS="true">
> <!-- To create a new keystore execute:
> keytool -genkey -alias james -keyalg RSA -keystore
> /path/to/james/conf/keystore
> -->
> <keystore>file://conf/keystore</keystore>
> <secret>changeit</secret>
>
> <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>
> </tls>
> <!-- Uncomment this if you want to require SMTP authentication.
> supported values:
> true: required but announced only to not authorizedAddresses
> false: don't use AUTH
> announce: like true, but always announce AUTH capability to
> clients
> The correct behaviour per RFC value would be false or announce
> but we still support true for backward compatibility and
> because
> some webmail client fails when AUTH is announced but no
> authentication
> information has been provided
> -->
> <authRequired>announce</authRequired>
>
> <!-- Uncomment this if you want to authorize specific
> addresses/networks.
> If you use SMTP AUTH, addresses that match those specified
> here will
> be permitted to relay without SMTP AUTH. If you do not use
> SMTP
> AUTH, and you specify addreses here, then only addresses that
> match
> those specified will be permitted to relay.
> Addresses may be specified as a an IP address or domain name,
> with an
> optional netmask, e.g.,
> 127.*, 127.0.0.0/8, 127.0.0.0/255.0.0.0, and localhost/8 are
> all the same
> See also the RemoteAddrNotInNetwork matcher in the transport
> processor.
> You would generally use one OR the other approach.
> -->
> <!--
> <authorizedAddresses>127.0.0.0/8</authorizedAddresses>
> -->
> <!-- Uncomment this if you want to verify sender addresses,
> ensuring that -->
> <!-- the sender address matches the user who has authenticated. -->
> <!-- This prevents a user of your mail server from acting as
> someone else -->
> <!-- If unspecified, default value is true -->
> <!--
> <verifyIdentity>true</verifyIdentity>
> -->
> </endpoint>
> <endpoint port="587">
> ...
> </endpoint>
> </endpoints>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]