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.