Hi Max, you need ro download the postgresql driver jar and include it in the classpath of james ( James only comes with derby drivers). So just add the full path to the downloaded postgresql jar to the setenv.sh or setenv.bat ( depending if you use windows or linux)
hope this helps, Norman 2010/4/21, Max Levinson <[email protected]>: > Hi guys, > > Thanks for answering on my previous questions I really appreciate what > Norman and the rest of James community is doing. I will try to do my best to > help this community as well. > > I am still struggling with setting up James 3 from trunk. Today I have a > question about integration of PostgresSQL. > > First of all I went to database.properties and commented out default lines > for Derby. > > So now my config in database.properties looks like this: > > database.driverClassName=org.apache.postgresql.Driver* (Not sure about this > part but I was trying many variations including custome JDBC driver which I > put into lib folder etc.) * > database.url=jdbc:postgresql://192.168.48.48:5432/FirstTestingAccount > database.username=postgres > database.password=just_password > > vendorAdapter.database=POSTGRESQL > > openjpa.streaming=false > > So when I am starting James I am getting this error, which to my mind is > showing that it can't load PostgreSQL JDBC driver. > > So is PostgreSQL JDBC driver is embedded into James installation and if yes > what path should I provide for database.driverClassName parameter. > > Here is an error: > > Apache-James Mail Server 3.0-M1 > INFO 12:30:22,333 | james.James | JAMES ...init end > 93 James WARN [main] openjpa.Runtime - An error occurred while > registering a ClassTransformer with PersistenceUnitInfo: name 'James', root > URL > [file:/home/james/trunk/spring-deployment/target/james-server-spring-deployment-3.0-M1/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. > INFO 12:30:23,938 | james.spoolmanager | Matcher All instantiated. > INFO 12:30:23,964 | james.spoolmanager | Mailet PostmasterAlias > instantiated. > INFO 12:30:24,001 | james.spoolmanager | Matcher RelayLimit=30 > instantiated. > INFO 12:30:24,014 | james.spoolmanager | Mailet Null instantiated. > INFO 12:30:24,019 | james.spoolmanager | Matcher All instantiated. > INFO 12:30:24,051 | james.mailetcontext | Initializing > INFO 12:30:24,062 | james.mailetcontext | host: localhost > INFO 12:30:24,064 | james.mailetcontext | port: 3310 > INFO 12:30:24,065 | james.mailetcontext | maxPings: 6 > INFO 12:30:24,067 | james.mailetcontext | pingIntervalMilli: 30000 > INFO 12:30:24,069 | james.mailetcontext | streamBufferSize: 8192 > INFO 12:30:24,070 | james.mailetcontext | Trial #1/6 - creating socket > connected to localhost/127.0.0.1 on port 3310 > INFO 12:30:24,094 | james.mailetcontext | Sending: "PING" to localhost/ > 127.0.0.1 ... > INFO 12:30:24,178 | james.mailetcontext | Received: "PONG" > INFO 12:30:24,183 | james.spoolmanager | Mailet ClamAVScan instantiated. > INFO 12:30:24,202 | james.spoolmanager | Matcher > HasMailAttributeWithValue=org.apache.james.infected, true instantiated. > INFO 12:30:24,230 | james.spoolmanager | Mailet ToProcessor instantiated. > INFO 12:30:24,246 | james.spoolmanager | Matcher SMTPAuthSuccessful > instantiated. > INFO 12:30:24,375 | james.mailetcontext | automaticInsert: true > INFO 12:30:24,377 | james.mailetcontext | whitelistManagerAddress is null; > will ignore commands > INFO 12:30:24,379 | james.mailetcontext | repositoryPath: db://maildb > ERROR 12:30:24,393 | james.spoolmanager | Unable to init mailet > WhiteListManager: javax.mail.MessagingException: Exception initializing > queries; > nested exception is: > org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver > class 'org.apache.postgresql.Driver' > javax.mail.MessagingException: Exception initializing queries; > nested exception is: > org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver > class 'org.apache.postgresql.Driver' > at > org.apache.james.transport.mailets.WhiteListManager.init(WhiteListManager.java:250) > at org.apache.mailet.base.GenericMailet.init(GenericMailet.java:181) > at > org.apache.james.transport.JamesMailetLoader.getMailet(JamesMailetLoader.java:62) > at > org.apache.james.transport.camel.AbstractProcessorRouteBuilder.configure(AbstractProcessorRouteBuilder.java:162) > at > org.apache.camel.builder.RouteBuilder.checkInitialized(RouteBuilder.java:295) > at > org.apache.camel.builder.RouteBuilder.configureRoutes(RouteBuilder.java:250) > at > org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:236) > at > org.apache.camel.impl.DefaultCamelContext.addRoutes(DefaultCamelContext.java:549) > at > org.apache.camel.spring.CamelContextFactoryBean.installRoutes(CamelContextFactoryBean.java:904) > at > org.apache.camel.spring.CamelContextFactoryBean.afterPropertiesSet(CamelContextFactoryBean.java:359) > 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.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1004) > at > org.apache.camel.spring.CamelBeanPostProcessor.postProcessBeforeInitialization(CamelBeanPostProcessor.java:88) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1394) > 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:557) > at > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:842) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:416) > at > org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) > at > org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) > at > org.apache.james.container.spring.JamesServerApplicationContext.<init>(JamesServerApplicationContext.java:37) > at org.apache.james.container.spring.Main.main(Main.java:28) > Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC > driver class 'org.apache.postgresql.Driver' > at > org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:766) > at > org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) > at > org.apache.james.transport.mailets.WhiteListManager.init(WhiteListManager.java:248) > ... 34 more > Caused by: java.lang.ClassNotFoundException: org.apache.postgresql.Driver > at java.net.URLClassLoader$1.run(URLClassLoader.java:202) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > at java.lang.ClassLoader.loadClass(ClassLoader.java:307) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:169) > at > org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:760) > ERROR 12:30:24,407 | james.spoolmanager | Caused by nested exception: > org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class > 'org.apache.postgresql.Driver' > at > org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:766) > at > org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) > at > org.apache.james.transport.mailets.WhiteListManager.init(WhiteListManager.java:248) > at org.apache.mailet.base.GenericMailet.init(GenericMailet.java:181) > at > org.apache.james.transport.JamesMailetLoader.getMailet(JamesMailetLoader.java:62) > at > org.apache.james.transport.camel.AbstractProcessorRouteBuilder.configure(AbstractProcessorRouteBuilder.java:162) > at > org.apache.camel.builder.RouteBuilder.checkInitialized(RouteBuilder.java:295) > at > org.apache.camel.builder.RouteBuilder.configureRoutes(RouteBuilder.java:250) > at > org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:236) > at > org.apache.camel.impl.DefaultCamelContext.addRoutes(DefaultCamelContext.java:549) > at > org.apache.camel.spring.CamelContextFactoryBean.installRoutes(CamelContextFactoryBean.java:904) > at > org.apache.camel.spring.CamelContextFactoryBean.afterPropertiesSet(CamelContextFactoryBean.java:359) > 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.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1004) > at > org.apache.camel.spring.CamelBeanPostProcessor.postProcessBeforeInitialization(CamelBeanPostProcessor.java:88) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1394) > 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:557) > at > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:842) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:416) > at > org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) > at > org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) > at > org.apache.james.container.spring.JamesServerApplicationContext.<init>(JamesServerApplicationContext.java:37) > at org.apache.james.container.spring.Main.main(Main.java:28) > Caused by: java.lang.ClassNotFoundException: org.apache.postgresql.Driver > at java.net.URLClassLoader$1.run(URLClassLoader.java:202) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > at java.lang.ClassLoader.loadClass(ClassLoader.java:307) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:169) > at > org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:760) > ... 36 more > Unable to init mailet WhiteListManager > Check spool manager logs for more details. > Exception in thread "main" > org.springframework.beans.factory.BeanCreationException: Error creating bean > with name 'instanceFactory' defined in class path resource > [spring-beans.xml]: Initialization of bean failed; nested exception is > org.springframework.beans.factory.BeanCreationException: Error creating bean > with name 'jamesCamelContext': Invocation of init method failed; nested > exception is org.apache.commons.configuration.ConfigurationException: Unable > to init mailet > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) > 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:557) > at > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:842) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:416) > at > org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) > at > org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) > at > org.apache.james.container.spring.JamesServerApplicationContext.<init>(JamesServerApplicationContext.java:37) > at org.apache.james.container.spring.Main.main(Main.java:28) > Caused by: org.springframework.beans.factory.BeanCreationException: Error > creating bean with name 'jamesCamelContext': Invocation of init method > failed; nested exception is > org.apache.commons.configuration.ConfigurationException: Unable to init > mailet > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1401) > 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.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1004) > at > org.apache.camel.spring.CamelBeanPostProcessor.postProcessBeforeInitialization(CamelBeanPostProcessor.java:88) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:394) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1394) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) > ... 12 more > Caused by: org.apache.commons.configuration.ConfigurationException: Unable > to init mailet > at > org.apache.james.transport.camel.AbstractProcessorRouteBuilder.configure(AbstractProcessorRouteBuilder.java:178) > at > org.apache.camel.builder.RouteBuilder.checkInitialized(RouteBuilder.java:295) > at > org.apache.camel.builder.RouteBuilder.configureRoutes(RouteBuilder.java:250) > at > org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:236) > at > org.apache.camel.impl.DefaultCamelContext.addRoutes(DefaultCamelContext.java:549) > at > org.apache.camel.spring.CamelContextFactoryBean.installRoutes(CamelContextFactoryBean.java:904) > at > org.apache.camel.spring.CamelContextFactoryBean.afterPropertiesSet(CamelContextFactoryBean.java:359) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1398) > ... 23 more > Caused by: javax.mail.MessagingException: Exception initializing queries; > nested exception is: > org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver > class 'org.apache.postgresql.Driver' > at > org.apache.james.transport.mailets.WhiteListManager.init(WhiteListManager.java:250) > at org.apache.mailet.base.GenericMailet.init(GenericMailet.java:181) > at > org.apache.james.transport.JamesMailetLoader.getMailet(JamesMailetLoader.java:62) > at > org.apache.james.transport.camel.AbstractProcessorRouteBuilder.configure(AbstractProcessorRouteBuilder.java:162) > ... 31 more > Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC > driver class 'org.apache.postgresql.Driver' > at > org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:766) > at > org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) > at > org.apache.james.transport.mailets.WhiteListManager.init(WhiteListManager.java:248) > ... 34 more > Caused by: java.lang.ClassNotFoundException: org.apache.postgresql.Driver > at java.net.URLClassLoader$1.run(URLClassLoader.java:202) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > at java.lang.ClassLoader.loadClass(ClassLoader.java:307) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) > at java.lang.ClassLoader.loadClass(ClassLoader.java:248) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:169) > at > org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:760) > ... 36 more > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
