Oh, should have highlighted that I didn't assign it to a release (might have 
been a bit presumptuous), even though there was options for 2.1.1 (or 2.2.0).

 -- Cory

On 06/08/2010, at 9:03 AM, Cory Prowse wrote:

> Attempting to use a fresh session still causes the exception.
> 
> I've created issue JCR-2701:
>  https://issues.apache.org/jira/browse/JCR-2701
> 
> Key:    JCR-2701
> Type:    Bug
> Status:  Open
> Priority:        Major
> Assignee:       Unassigned
> Component/s:    jackrabbit-core
> Affects Version/s:      2.1.0
> Fix Version/s:  None
> Environment: Jackrabbit is deployed using released JCA on Glassfish 3.0.1
> 
> -- Cory
> 
> On 06/08/2010, at 2:19 AM, Alexander Klimetschek wrote:
> 
>> On Thu, Aug 5, 2010 at 13:57, Cory Prowse <[email protected]> wrote:
>>> Sorry, I should have given a full example of the problem code.
>>> The following code fails on a fresh setup.
>>> 
>>> @Startup
>>> @Singleton
>>> public class JcrStartupSingleton {
>>> 
>>>   @Resource(name = "jcr/repository", type = javax.jcr.Repository.class)
>>>   private Repository repository;
>>> 
>>>   @PostConstruct
>>>   public void setupWorkspaces() throws RepositoryException {
>>>       final Session session = repository.login(new 
>>> SimpleCredentials("admin1", "".toCharArray()), "production");
>>>       try {
>>>           session.getRootNode().addNode("example");
>>>           session.save();
>>> 
>>>           session.getWorkspace().createWorkspace("staging", "production");
>>>       } finally {
>>>           session.logout();
>>>       }
>>>   }
>>> }
>>> 
>>> Gives an exception with a root cause of:
>>> Caused by: javax.jcr.PathNotFoundException: /example
>>>       at 
>>> org.apache.jackrabbit.core.BatchedItemOperations.getNodeState(BatchedItemOperations.java:1456)
>>>       at 
>>> org.apache.jackrabbit.core.BatchedItemOperations.copy(BatchedItemOperations.java:387)
>>>       at 
>>> org.apache.jackrabbit.core.WorkspaceImpl.internalCopy(WorkspaceImpl.java:404)
>>>       at 
>>> org.apache.jackrabbit.core.WorkspaceImpl.clone(WorkspaceImpl.java:606)
>>>       at 
>>> org.apache.jackrabbit.core.WorkspaceImpl.createWorkspace(WorkspaceImpl.java:221)
>>>       at 
>>> au.projectx.jcr.JcrStartupSingleton.setupWorkspaces(JcrStartupSingleton.java:49)
>>> 
>>> Where line 49 is:
>>> session.getWorkspace().createWorkspace("staging", "production");
>> 
>> Hmm, looks like a bug. Could you report it on Jira? See
>> http://jackrabbit.apache.org/issue-tracker.html
>> 
>> As a workaround, it might work if you use a freshly created session
>> for the createWorkspace() method:
>> 
>>   Session session = repository.login(...);
>>   session.getWorkspace().createWorkspace("staging", "production");
>> 
>> Regards,
>> Alex
>> 
>> -- 
>> Alexander Klimetschek
>> [email protected]
> 

Reply via email to