Hi Ashish,
Thanks for the reply... herewith (below) the entire output from
attempting to load the server...
I'd be fairly sure that I don't have the MySQL jdbc driver installed,
as I've not done that manually... can you let me know what I need,
where I find it, and what to do with it to resolve this issue...?
Sorry for all the questions, but I've tried reading the install
instructions for the server, which I followed, and then I tried to
understand the info on using the BasicDataSource, but I'm afraid that
made no sense at all...!
It now seems that this server is intended more for developers to
integrate into java solutions, than a stand-alone product for end
users, but it looks so promising that if you can all put up with my
questions I'l like to get it working...!
Thanks
Steve
host57:bin stevewinter$ ./ftpd.sh res/conf/ftpd-typical.xml
Using XML configuration file res/conf/ftpd-typical.xml...
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'org.apache.ftpserver.FtpServerFactory#0':
Cannot create inner bean '(inner bean)' while setting bean property
'userManager'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name '(inner bean)#1': Instantiation of bean
failed; nested exception is
org.springframework.beans.factory.BeanDefinitionStoreException:
Factory method [public org.apache.ftpserver.ftplet.UserManager
org
.apache
.ftpserver.usermanager.DbUserManagerFactory.createUserManager()] threw
exception; nested exception is
org.apache.ftpserver.FtpServerConfigurationException: Failed to open
connection to user database
at
org
.springframework
.beans
.factory
.support
.BeanDefinitionValueResolver
.resolveInnerBean(BeanDefinitionValueResolver.java:230)
at
org
.springframework
.beans
.factory
.support
.BeanDefinitionValueResolver
.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)
at
org
.springframework
.beans
.factory
.support
.AbstractAutowireCapableBeanFactory
.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
at
org
.springframework
.beans
.factory
.support
.AbstractAutowireCapableBeanFactory
.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
at
org
.springframework
.beans
.factory
.support
.AbstractAutowireCapableBeanFactory
.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
at
org
.springframework
.beans.factory.support.AbstractAutowireCapableBeanFactory
$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at
org
.springframework
.beans
.factory
.support
.AbstractAutowireCapableBeanFactory
.createBean(AbstractAutowireCapableBeanFactory.java:380)
at
org.springframework.beans.factory.support.AbstractBeanFactory
$1.getObject(AbstractBeanFactory.java:264)
at
org
.springframework
.beans
.factory
.support
.DefaultSingletonBeanRegistry
.getSingleton(DefaultSingletonBeanRegistry.java:221)
at
org
.springframework
.beans
.factory
.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at
org
.springframework
.beans
.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
185)
at
org
.springframework
.beans
.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:
164)
at
org
.springframework
.beans
.factory
.support
.DefaultListableBeanFactory
.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
at
org
.springframework
.context
.support
.AbstractApplicationContext
.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
at
org
.springframework
.context
.support
.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
at
org
.springframework
.context
.support
.FileSystemXmlApplicationContext
.<init>(FileSystemXmlApplicationContext.java:140)
at
org
.springframework
.context
.support
.FileSystemXmlApplicationContext
.<init>(FileSystemXmlApplicationContext.java:84)
at
org
.apache.ftpserver.main.CommandLine.getConfiguration(CommandLine.java:
134)
at
org.apache.ftpserver.main.CommandLine.main(CommandLine.java:58)
Caused by: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name '(inner bean)#1': Instantiation of bean
failed; nested exception is
org.springframework.beans.factory.BeanDefinitionStoreException:
Factory method [public org.apache.ftpserver.ftplet.UserManager
org
.apache
.ftpserver.usermanager.DbUserManagerFactory.createUserManager()] threw
exception; nested exception is
org.apache.ftpserver.FtpServerConfigurationException: Failed to open
connection to user database
at
org
.springframework
.beans
.factory
.support
.ConstructorResolver
.instantiateUsingFactoryMethod(ConstructorResolver.java:444)
at
org
.springframework
.beans
.factory
.support
.AbstractAutowireCapableBeanFactory
.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:
903)
at
org
.springframework
.beans
.factory
.support
.AbstractAutowireCapableBeanFactory
.createBeanInstance(AbstractAutowireCapableBeanFactory.java:817)
at
org
.springframework
.beans
.factory
.support
.AbstractAutowireCapableBeanFactory
.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
at
org
.springframework
.beans.factory.support.AbstractAutowireCapableBeanFactory
$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at
org
.springframework
.beans
.factory
.support
.AbstractAutowireCapableBeanFactory
.createBean(AbstractAutowireCapableBeanFactory.java:380)
at
org
.springframework
.beans
.factory
.support
.BeanDefinitionValueResolver
.resolveInnerBean(BeanDefinitionValueResolver.java:219)
... 19 more
Caused by:
org.springframework.beans.factory.BeanDefinitionStoreException:
Factory method [public org.apache.ftpserver.ftplet.UserManager
org
.apache
.ftpserver.usermanager.DbUserManagerFactory.createUserManager()] threw
exception; nested exception is
org.apache.ftpserver.FtpServerConfigurationException: Failed to open
connection to user database
at
org
.springframework
.beans
.factory
.support
.SimpleInstantiationStrategy
.instantiate(SimpleInstantiationStrategy.java:127)
at
org
.springframework
.beans
.factory
.support
.ConstructorResolver
.instantiateUsingFactoryMethod(ConstructorResolver.java:435)
... 26 more
Caused by: org.apache.ftpserver.FtpServerConfigurationException:
Failed to open connection to user database
at
org
.apache
.ftpserver.usermanager.impl.DbUserManager.<init>(DbUserManager.java:103)
at
org
.apache
.ftpserver
.usermanager
.DbUserManagerFactory.createUserManager(DbUserManagerFactory.java:90)
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:585)
at
org
.springframework
.beans
.factory
.support
.SimpleInstantiationStrategy
.instantiate(SimpleInstantiationStrategy.java:115)
... 27 more
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot load
JDBC driver class 'com.mysql.jdbc.Driver'
at
org
.apache
.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:
1136)
at
org
.apache
.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at
org
.apache
.ftpserver
.usermanager.impl.DbUserManager.createConnection(DbUserManager.java:305)
at
org
.apache
.ftpserver.usermanager.impl.DbUserManager.<init>(DbUserManager.java:98)
... 33 more
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
374)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at
org
.apache
.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:
1130)
... 36 more
On 12 Mar 2009, at 03:25, Ashish wrote:
Can you post the complete stacktrace. Hope correct MySQL jdbc driver
is present in the classpath.
thanks
<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://mina.apache.org/ftpserver/spring/v1
http://mina.apache.org/ftpserver/ftpserver-1.0.xsd
"
id="myServer">
<listeners>
<nio-listener name="default" port="2121">
<ssl>
<keystore file="./res/ftpserver.jks"
password="password" />
</ssl>
</nio-listener>
</listeners>
<db-user-manager encrypt-passwords="salted">
<data-source>
<beans:bean
class="org.apache.commons.dbcp.BasicDataSource">
<beans:property name="driverClassName"
value="com.mysql.jdbc.Driver" />
<beans:property name="url"
value="jdbc:mysql://localhost/ftpd" />
<beans:property name="username"
value="ftp" />
<beans:property name="password"
value="password"
/>
</beans:bean>
</data-source>
<insert-user>INSERT INTO FTP_USER (userid,
userpassword,
homedirectory, enableflag, writepermission,
idletime, uploadrate,
downloadrate) VALUES ('{userid}',
'{userpassword}',
'{homedirectory}',
'{enableflag}', '{writepermission}',
{idletime},
{uploadrate},
{downloadrate})</insert-user>
<update-user>UPDATE FTP_USER SET
userpassword
=
'{userpassword
}',homedirectory
=
'{homedirectory
}',enableflag
=
{enableflag
},writepermission
=
{writepermission
},idletime
={idletime},uploadrate={uploadrate},downloadrate={downloadrate}
WHERE userid='{userid}'</update-user>
<delete-user>DELETE FROM FTP_USER WHERE userid =
'{userid}'
</delete-user>
<select-user>SELECT userid, userpassword,
homedirectory,
enableflag, writepermission, idletime,
uploadrate,
downloadrate FROM
FTP_USER WHERE userid = '{userid}'</select-
user>
<select-all-users>SELECT userid FROM FTP_USER ORDER BY
userid
</select-all-users>
<is-admin>SELECT userid FROM FTP_USER WHERE
userid='{userid}' AND
userid='admin'</is-admin>
<authenticate>SELECT userpassword from FTP_USER WHERE
userid='{userid}'</authenticate>
</db-user-manager>
</server>
Steve Winter
[email protected]
m: +44 77 7852 4776
3 Calshot Court, Channel Way
Ocean Village, Southampton SO14 3GR
--
thanks
ashish
Blog: http://www.ashishpaliwal.com/blog
My Photo Galleries: http://www.pbase.com/ashishpaliwal
Steve Winter
[email protected]
m: +44 77 7852 4776
3 Calshot Court, Channel Way
Ocean Village, Southampton SO14 3GR