<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How to restart the repository session in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/how-to-restart-the-repository-session/m-p/220032#M173162</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm trying to add some nodes to the Alfresco Repository. I iterate through a tree and copy each nodes and their children into the Alfresco repository. Sometimes, an exception is thrown (like DuplicateChildNameException). I used a try catch for each node and I would like that when an exception is thrown, the current node would be ignored and the iterator continue to do its work. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The problem is when an Exception is thrown, the session doesn't work anymore. There is an error message for each following nodes. Something like "the transaction has already been rolled back". &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried to logout from the session but it threw an illegalStateException. I tried to reconnect to the repository with the same session variable (sessionALF = repository.login(myCredentials):smileywink: but it threw an exception with the following message: "only one session is allowed per thread". &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you have an idea about what I should do? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 13 Sep 2010 12:12:21 GMT</pubDate>
    <dc:creator>ethan</dc:creator>
    <dc:date>2010-09-13T12:12:21Z</dc:date>
    <item>
      <title>How to restart the repository session</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-restart-the-repository-session/m-p/220032#M173162</link>
      <description>Hi &lt;IMG id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://migration33.stage.lithium.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;I'm trying to add some nodes to the Alfresco Repository. I iterate through a tree and copy each nodes and their children into the Alfresco repository. Sometimes, an exception is thrown (like DuplicateChildNameException). I used a try catch for each node and I would like that when an exception i</description>
      <pubDate>Mon, 13 Sep 2010 12:12:21 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-restart-the-repository-session/m-p/220032#M173162</guid>
      <dc:creator>ethan</dc:creator>
      <dc:date>2010-09-13T12:12:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to restart the repository session</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-restart-the-repository-session/m-p/220033#M173163</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Unfortunately you can't catch the exception and carry on since the current transaction is rolling back.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If it is a big long list of nodes then do you need to process them all as one transaction or could you process them in individual transactions?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you do need a big long list then you need to do as much validation up front as possible.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Sep 2010 12:41:33 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-restart-the-repository-session/m-p/220033#M173163</guid>
      <dc:creator>mrogers</dc:creator>
      <dc:date>2010-09-13T12:41:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to restart the repository session</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-restart-the-repository-session/m-p/220034#M173164</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Currently, I save each node at a time. I use the following code :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;try {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;String nodeRelPath = ISO9075.encode(nodeName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!alfParentNode.hasNode(nodeRelPath)){ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Node newAlfNode = alfParentNode.addNode(nodeRelPath, customNodeType);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newAlfNode.setProperty("cm:name", "myNodeName");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; …&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sessionALF.save();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;convertChildrenNodes(sessionALF, childNode, newAlfNode);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} catch(RepositoryException e){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("ERROR WHILE SAVING NODE :" + nodeName + " - " + e.getCause());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Node newAlfParentNode = alfParentNode.getNode(nodeRelPath);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("already existing node : " + nodeName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;convertChildrenNodes(sessionALF, childNode, newAlfParentNode);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;&lt;BR /&gt;} catch (RepositoryException e) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Sep 2010 13:36:09 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-restart-the-repository-session/m-p/220034#M173164</guid>
      <dc:creator>ethan</dc:creator>
      <dc:date>2010-09-13T13:36:09Z</dc:date>
    </item>
    <item>
      <title>Re: How to restart the repository session</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-restart-the-repository-session/m-p/220035#M173165</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Up ! &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is this the right way to proceed or is there a better one ? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Sep 2010 12:58:53 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-restart-the-repository-session/m-p/220035#M173165</guid>
      <dc:creator>ethan</dc:creator>
      <dc:date>2010-09-17T12:58:53Z</dc:date>
    </item>
    <item>
      <title>Re: How to restart the repository session</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/how-to-restart-the-repository-session/m-p/220036#M173166</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Should I use explicit transactions like it is defined &lt;/SPAN&gt;&lt;A href="http://wiki.alfresco.com/wiki/Introducing_the_Alfresco_Java_Content_Repository_API#Explicit_Transactions" rel="nofollow noopener noreferrer"&gt;here&lt;/A&gt;&lt;SPAN&gt; in the wiki ? If I use the trx.rollback() in the catch() part, will I still be able to use the session and get back to the parent node to continue to iterate?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Sep 2010 08:13:54 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/how-to-restart-the-repository-session/m-p/220036#M173166</guid>
      <dc:creator>ethan</dc:creator>
      <dc:date>2010-09-22T08:13:54Z</dc:date>
    </item>
  </channel>
</rss>

