Hi all,

I am using the MSSqlPersistenceManager with JNDI but it seems there is a 
problem about the user and password. Even if, as javadoc says, I don't 
configure the user and password:

 <PersistenceManager 
class="org.apache.jackrabbit.core.persistence.db.MSSqlPersistenceManager">
            <param name="url" value="java:comp/env/it.gruppo.easy.jdbc.main00"/>
            <param name="driver" value="javax.naming.InitialContext"/>
 </PersistenceManager>


the framework try to use them:

public final class ConnectionFactory {
    ...
   private DataSource createDataSource(String driver, String url, String user, 
String password)
            throws RepositoryException {
        Class<?> driverClass = getDriverClass(driver);
        if (driverClass != null
                && Context.class.isAssignableFrom(driverClass)) {
            @SuppressWarnings("unchecked")
            DataSource database = getJndiDataSource((Class<Context>) 
driverClass, url);
            if (user == null && password == null) {
                return database;
            } else {
                return new DataSourceWrapper(database, user, password);
            }
        } else {
            return getDriverDataSource(driverClass, url, user, password);
        }
    }
}


because, by default, are initialized with an empty string:

public class MSSqlPersistenceManager extends SimpleDbPersistenceManager
...
 public MSSqlPersistenceManager() {
        // preset some attributes to reasonable defaults
        schema = "mssql";
        driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        schemaObjectPrefix = "";
        user = "";
        password = "";
        initialized = false;
        tableSpace = "";
    }
...
}


As a workaround I extended MSSqlPersistentManager, and I used it in my 
configuration file:

public class TGKMSSqlPersistenceManager extends MSSqlPersistenceManager {
    public TGKMSSqlPersistenceManager() {
        super();
        setPassword(null);
        setUser(null);
    }
}

Am I misunderstanding something?

Thanks.
Emiliano






Reply via email to