[ 
https://issues.apache.org/jira/browse/JCR-3205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Reschke updated JCR-3205:
--------------------------------

    Component/s: locks
    
> Missing support for lock timeout and ownerHint in jcr-server
> ------------------------------------------------------------
>
>                 Key: JCR-3205
>                 URL: https://issues.apache.org/jira/browse/JCR-3205
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-jcr-server, locks
>    Affects Versions: 2.3.6
>            Reporter: David Buchmann
>            Assignee: angela
>             Fix For: 2.4
>
>         Attachments: tcpdump.log
>
>
> trying to set the lock timeout when creating a lock seems not to work over 
> the davex transport. the timeout is always 2147483.
> this was my test code:
> import javax.jcr.*;
> import javax.jcr.lock.*;
> import org.apache.jackrabbit.jcr2spi.RepositoryImpl;
> import org.apache.jackrabbit.jcr2spi.config.RepositoryConfig;
> String url = "http://localhost:8080/server/";;
> String workspace = "tests";
> RepositoryConfig config = new RepositoryConfigImplTest(repoUrl);
> Repository repo = RepositoryImpl.create(config);
> Credentials sc = new SimpleCredentials("admin","admin".toCharArray());
> Session s = repo.login(sc,workspace);
> Node t;
> if (s.getRootNode().hasNode("test")) {
>     t = s.getRootNode().getNode("test");
> } else {
>     t = s.getRootNode().addNode("test", "nt:unstructured");
> }
> t.addMixin("mix:lockable");
> s.save();
> LockManager m = s.getWorkspace().getLockManager();
> Lock l = m.lock(t.getPath(), false, true, 10, "me");
> System.out.println(l.getSecondsRemaining());
> and the output is 2147483
> the relevant communication fragment is below, i attach the full trace in case 
> i miss something.
> LOCK /server/tests/jcr%3aroot/test HTTP/1.1
> Timeout: Second-10
> Depth: 0
> Link: <urn:uuid0c740bb9-042a-4ef2-b019-1a6c52784c29>; 
> rel="http://www.day.com/jcr/webdav/1.0/session-id";
> Authorization: Basic YWRtaW46YWRtaW4=
> User-Agent: Jakarta Commons-HttpClient/3.0
> Host: localhost:8080
> Content-Length: 254
> Content-Type: text/xml; charset=UTF-8
> <?xml version="1.0" encoding="UTF-8" standalone="no"?><D:lockinfo 
> xmlns:D="DAV:"><D:lockscope><dcr:exclusive-session-scoped 
> xmlns:dcr="http://www.day.com/jcr/webdav/1.0"/></D:lockscope><D:locktype><D:write/></D:locktype><D:owner>me</D:owner></D:lockinfo>
> HTTP/1.1 200 OK
> Content-Type: text/xml; charset=utf-8
> Content-Length: 450
> Lock-Token: <aa724c28-3c24-41e8-a3b4-9fc129adf732>
> Server: Jetty(6.1.x)
> <?xml version="1.0" encoding="UTF-8" standalone="no"?><D:prop 
> xmlns:D="DAV:"><D:lockdiscovery><D:activelock><D:lockscope><dcr:exclusive-session-scoped
>  
> xmlns:dcr="http://www.day.com/jcr/webdav/1.0"/></D:lockscope><D:locktype><D:write/></D:locktype><D:depth>0</D:depth><D:timeout>Second-2147483</D:timeout><D:owner>admin</D:owner><D:locktoken><D:href>aa724c28-3c24-41e8-a3b4-9fc129adf732</D:href></D:locktoken></D:activelock></D:lockdiscovery></D:prop>
> by the way: if i do not explicitly logout before the program exits, the lock 
> is also not released even though it is session based. should the session not 
> trigger a logout on destruction?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to