Suppression d'un fichier en base de données

1
0
-1

Bonjour,
est-il possible de supprimer le blob document.content pour un document dans une instance de processus en cours ? Il s'agit typiquement de purger les fichiers en fin de processus afin d'éviter de stocker des Go en bdd.
j'ai essayé deleteContentOfArchivedDocument(document.id) mais l'id n'est pas reconnu. Il semblerait que ce soit plutôt document_mapping.documentid mais comment le récupérer ?

Merci

1 answer

1
0
-1

Bonjour,

Je viens de créer un exemple qui permet de supprimer le contenu du BLOB en base de données via appels aux API. L'exemple est disponible sur GitHub avec le .bos dans la section releases.

Par rapport à votre solution j'ai simplement ajouté l'appel à removeDocument qui permet d'archiver la référence avant de faire appel à deleteContentOfArchivedDocument.

Comments

Submitted by RoyRoy on Thu, 12/19/2019 - 10:23

Bonjour,

Merci pour le bos.

j'ai cependant cette exception au run (bonita 7.6.3 souscription efficiency)

Caused by: org.bonitasoft.engine.connector.exception.SConnectorException: java.util.concurrent.ExecutionException: org.bonitasoft.engine.connector.exception.SConnectorException: org.bonitasoft.engine.connector.ConnectorException: groovy.lang.MissingPropertyException: No such property: id for class: java.lang.String
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl.execute(ConnectorExecutorImpl.java:125)
at org.bonitasoft.engine.core.connector.impl.ConnectorServiceImpl.executeConnectorInClassloader(ConnectorServiceImpl.java:279)
... 12 more
Caused by: java.util.concurrent.ExecutionException: org.bonitasoft.engine.connector.exception.SConnectorException: org.bonitasoft.engine.connector.ConnectorException: groovy.lang.MissingPropertyException: No such property: id for class: java.lang.String
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:206)
at com.bonitasoft.engine.connector.impl.ConnectorExecutorTimedOut.getValue(ConnectorExecutorTimedOut.java:54)
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl.execute(ConnectorExecutorImpl.java:122)
... 13 more
Caused by: org.bonitasoft.engine.connector.exception.SConnectorException: org.bonitasoft.engine.connector.ConnectorException: groovy.lang.MissingPropertyException: No such property: id for class: java.lang.String
at org.bonitasoft.engine.core.connector.impl.SConnectorAdapter.execute(SConnectorAdapter.java:75)
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl$ExecuteConnectorCallable.call(ConnectorExecutorImpl.java:206)
at org.bonitasoft.engine.connector.impl.ConnectorExecutorImpl$ExecuteConnectorCallable.call(ConnectorExecutorImpl.java:176)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
... 3 more
Caused by: org.bonitasoft.engine.connector.ConnectorException: groovy.lang.MissingPropertyException: No such property: id for class: java.lang.String
at org.bonitasoft.connectors.scripting.GroovyScriptConnector.executeBusinessLogic(GroovyScriptConnector.java:51)
at org.bonitasoft.engine.connector.AbstractConnector.execute(AbstractConnector.java:77)
at org.bonitasoft.engine.core.connector.impl.SConnectorAdapter.execute(SConnectorAdapter.java:73)
... 6 more
Caused by: groovy.lang.MissingPropertyException: No such property: id for class: java.lang.String
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53)
at org.codehaus.groovy.runtime.callsite.GetEffectivePojoPropertySite.getProperty(GetEffectivePojoPropertySite.java:66)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:296)
at Script1.run(Script1.groovy:13)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:591)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:629)
at groovy.lang.GroovyShell.evaluate(GroovyShell.java:600)
at org.bonitasoft.connectors.scripting.GroovyScriptConnector.executeBusinessLogic(GroovyScriptConnector.java:48)
... 8 more

Pourtant la classe de mon document un bien org.bonitasoft.engine.bpm.document.Document

Submitted by antoine.mottier on Thu, 12/19/2019 - 10:37

Bonjour,

Est ce que le document déclarer dans votre processus est bien nommé "myDocument" comme dans mon exemple ? Ou est ce que vous avez bien pris soin d'adapter le nom dans le script Groovy au nom dans votre définition de processus ? L'erreur semble indiquer que la variable utilisé sur la neuvième ligne du script est de type "String".

Est ce qu'il vous est possible de partager votre projet en l'exportant sous forme de fichier .bos et de l'uploader sur Google Drive, dropbox,... ?

Notifications