AnsweredAssumed Answered

Añadir archivos al repositorio Alfresco con java

Question asked by ditmgl on May 8, 2009
Latest reply on May 11, 2009 by ditmgl
He creado un bean que hace una transformaciones a un archivo pdf y que como resultado me genera un archivo temporal (en c:\temp.dat por ejemplo) que luego quiero meter en otro espacio.

La pregunta es ¿como "muevo" un archivo de c:\ a por ejemplo guest_home?. (via bean de java, sin jsp o a traves de formularios).

Hasta ahora he probadocon la API de jcr:

//////////////
   ApplicationContext context = new ClassPathXmlApplicationContext("classpath:alfresco/application-context.xml");
   Repository repository = (Repository)context.getBean("JCR.Repository");
         
   SimpleCredentials credentials = new SimpleCredentials("admin",   "admin".toCharArray());
   Session session = repository.login(credentials);

   // now we're logged in, display some information about the root node
   Node rootNode = session.getRootNode();
         
   Node docFirmado = rootNode.getNode("app:company_home");
   Node contentNode = docFirmado.addNode("cm:content", "cm:content");
   contentNode.setProperty("cm:title", "Doc firmado");
   ClassPathResource resource = new ClassPathResource("c:\\temp.dat");
   contentNode.setProperty("cm:content", resource.getInputStream());
   session.save();

   /////////////

Pero me da el siguiente error (Cache is not alive ¿¿¿??):

12:53:55,584 ERROR [org.hibernate.engine.ActionQueue] could not release a cache lock
org.hibernate.cache.CacheException: java.lang.IllegalStateException: The org.hibernate.cache.UpdateTimestampsCache Cache is not alive.
   at org.hibernate.cache.EhCache.put(EhCache.java:125)
   at org.hibernate.cache.UpdateTimestampsCache.invalidate(UpdateTimestampsCache.java:69)
   at org.hibernate.engine.ActionQueue.afterTransactionCompletion(ActionQueue.java:217)
   at org.hibernate.impl.SessionImpl.afterTransactionCompletion(SessionImpl.java:424)
   at org.hibernate.jdbc.JDBCContext.afterTransactionCompletion(JDBCContext.java:229)
   at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:174)
   at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:594)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:753)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:730)
   at org.springframework.transaction.interceptor.TransactionAspectSupport.completeTransactionAfterThrowing(TransactionAspectSupport.java:332)
   at org.alfresco.util.transaction.SpringAwareUserTransaction.completeTransactionAfterThrowing(SpringAwareUserTransaction.java:530)
   at org.alfresco.util.transaction.SpringAwareUserTransaction.rollback(SpringAwareUserTransaction.java:498)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:362)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:209)

Un saludo.

Outcomes