Hmm.. it is really strange, because the console work in the same way as
your code. Could you check which file is blocked?

Best regards,
Artem Orobets

* Orient Technologiesthe Company behind OrientDB*


2014-07-02 11:20 GMT+03:00 Chris Klinger <[email protected]>:

> Hi Artem,
>
> the restore command on the console is working fine with the backup created
> by above code:
>
> orientdb {test}> restore database
> C:/Users/klinger/Documents/prototypes/conceptor-base/testbackup.zip
>
> Restoring database database
> C:/Users/klinger/Documents/prototypes/conceptor-base/testbackup.zip...
> - Uncompressing file attribute.cpm...
> - Uncompressing file attribute.pcl...
> - Uncompressing file attributegroup.cpm...
> [...]
> Database restored in 0,86 seconds
> orientdb {test}>
>
>
> best regards,
> chris
>
> Am Dienstag, 1. Juli 2014 18:03:23 UTC+2 schrieb Artem Orobets:
>>
>> Hi Chris,
>>
>> Does *restore* command works in console?
>>
>> Best regards,
>>  Artem Orobets
>>
>> * Orient Technologiesthe Company behind OrientDB*
>>
>>
>> 2014-07-01 13:12 GMT+03:00 Chris Klinger <[email protected]>:
>>
>>>  Hey guys,
>>>
>>> i'm trying to implement a basic backup/restore mechanism in my
>>> application. the use case basicly is to load a previous snapshot of data.
>>> so i do a backup and later i want to restore this to a second "working copy
>>> database" to view the old data.
>>> The db service in the following code is a simple spring bean starting an
>>> embedded orientdb server and retuns the graph database instance.
>>>
>>> try {
>>>     File backupFile = new File("testbackup.zip");
>>>     OutputStream oS = new FileOutputStream(backupFile);
>>>
>>>     dbService.getGraphDatabaseInstanceNoTx().getRawGraph().backup(oS,
>>> null, null, null, 1, 1024);
>>>
>>>     oS.close(); // close the stream
>>>     dbService.destroy(); // shutdown embedded server
>>>
>>>     dbService.setGraphDatabase("restoreSnapshot" +
>>> System.currentTimeMillis());
>>>
>>>     dbService.afterPropertiesSet(); // start embedded server
>>>
>>>     FileInputStream iS = new FileInputStream(backupFile);
>>>     dbService.getGraphDatabaseInstanceNoTx().getRawGraph().restore(iS,
>>> null, null, null);
>>>     iS.close(); // close input stream
>>>
>>> } catch (FileNotFoundException e) {
>>>     // TODO Auto-generated catch block
>>>     e.printStackTrace();
>>> } catch (IOException e) {
>>>     // TODO Auto-generated catch block
>>>     e.printStackTrace();
>>> } catch (Exception e) {
>>>     // TODO Auto-generated catch block
>>>     e.printStackTrace();
>>> }
>>>
>>> Running this code i get the following exception:
>>>
>>> java.io.IOException: The process cannot access the file because another
>>> process has locked a portion of the file
>>>  at java.io.FileOutputStream.writeBytes(Native Method)
>>> at java.io.FileOutputStream.write(FileOutputStream.java:345)
>>>  at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122)
>>> at com.orientechnologies.common.io.OIOUtils.copyStream(
>>> OIOUtils.java:153)
>>>  at com.orientechnologies.orient.core.compression.impl.
>>> OZIPCompressionUtil.extractFile(OZIPCompressionUtil.java:90)
>>> at com.orientechnologies.orient.core.compression.impl.
>>> OZIPCompressionUtil.uncompressDirectory(OZIPCompressionUtil.java:76)
>>>  at com.orientechnologies.orient.core.storage.impl.local.
>>> OStorageLocalAbstract.restore(OStorageLocalAbstract.java:119)
>>> at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.
>>> restore(ODatabaseRaw.java:182)
>>>  at com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.
>>> restore(ODatabaseWrapperAbstract.java:77)
>>> at com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.
>>> restore(ODatabaseWrapperAbstract.java:77)
>>>  at com.encoway.conceptor.base.document.orient.OrientDbBasicTest.
>>> testDbSnapshot(OrientDbBasicTest.java:126)
>>>
>>> I'm sure, none of the used files is accessed by another process. i'm
>>> doing something wrong? or could this be a bug in orientdb? i'm using
>>> version 1.7.3
>>>
>>> any ideas?
>>>
>>> thanks
>>>
>>> --
>>>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "OrientDB" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "OrientDB" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to