import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.FactoryBean;
+/** Proxy JCR sessions and attach them to calling threads. */
public class ThreadBoundJcrSessionFactory implements FactoryBean,
DisposableBean {
private final static Log log = LogFactory
private boolean destroying = false;
private final Session proxiedSession;
+ private String defaultUsername = "demo";
+ private String defaultPassword = "demo";
+
public ThreadBoundJcrSessionFactory() {
Class<?>[] interfaces = { Session.class };
proxiedSession = (Session) Proxy.newProxyInstance(getClass()
protected Session login() {
try {
- SimpleCredentials sc = new SimpleCredentials("demo", "demo"
- .toCharArray());
+ SimpleCredentials sc = new SimpleCredentials(defaultUsername,
+ defaultPassword.toCharArray());
Session sess = repository.login(sc);
if (log.isTraceEnabled())
log.trace("Log in to JCR session " + sess + "; userId="
this.repository = repository;
}
+ public void setDefaultUsername(String defaultUsername) {
+ this.defaultUsername = defaultUsername;
+ }
+
+ public void setDefaultPassword(String defaultPassword) {
+ this.defaultPassword = defaultPassword;
+ }
+
}