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]

Reply via email to