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

Reply via email to