cancel
Showing results for 
Search instead for 
Did you mean: 

CMIS e Java8

blade
Confirmed Champ
Confirmed Champ
Ciao a tutti,

vi disturbo nuovamente per chiedervi se vi รจ capitato che le performance della creazione della sessione in Alfresco con CMIS si siano notevolmente rallentate con l'installazione di Java8.

HashMap<String, String> params = new HashMap<String, String>();      params.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.0/atom");      params.put(SessionParameter.USER, user);//utente admin      params.put(SessionParameter.PASSWORD, password);//psw admin      params.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());      params.put(SessionParameter.OBJECT_FACTORY_CLASS,"org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl");            try       {         SessionFactory factory = SessionFactoryImpl.newInstance();         setSessionCMIS(factory.getRepositories(params).get(0).createSession());      }       catch (Exception e)       {         logger.error("Errore nella createSessionCMIS: " + e.hashCode() + ' ' + e.toString());      }โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€


Con Java7 quando lancio l'upload non ho problemi circa 2 secondi
Con Java8 140 secondi!
In debug non ho problemi.

A voi รจ mai capitato?
1 ACCEPTED ANSWER

blade
Confirmed Champ
Confirmed Champ
Ho capito il problema della lentezza di connessione.

Il mio progetto aveva i riferimenti ai jar di cmis vecchia versione (0.7.0) aggiornandoli alla nuova versione (0.14.0) e aggiornando le varie dipendenze alle nuove release i tempi di connessione sono ritornati quelli normali.

View answer in original post

9 REPLIES 9

openpj
Elite Collaborator
Elite Collaborator
Ma intendi dire JDK?
Parli della runtime del server di Alfresco, giusto?
Che versione di Alfresco stai usando?

blade
Confirmed Champ
Confirmed Champ
Ciao Piergiorgio

Sรฌ sto parlando di JDK e del runtime server di Alfresco.
Sto usando la versione 5.0 di Alfresco.

openpj
Elite Collaborator
Elite Collaborator
L'environment che usi quale รจ? Linux o Windows?

blade
Confirmed Champ
Confirmed Champ
Scusa non ho scritto i dettagli.

Alfresco 5.0.d con jre 1.8.0_31 SO Ubuntu
(ma anche la versione 4.2.f con jre 1.7.0)
Windows รจ il SO dal quale viene fatta la richiesta di upload
Jdk e jre 8

Sicuramente sbaglio io a impostare qualcosa nel mio progetto Java.

In debug da eclipse la createSession() non ho problemi, in esecuzione รจ lenta

davidciamberlan
Elite Collaborator
Elite Collaborator
Ciao,

visto che hai alfresco 5, prova ad usare la versione 1.1 di cmis (basta cambiare il valore nell'url).

Inoltre per il binding puoi provare ad usare Browser invece di Atompub (userai json in luogo di xml per lo scambio dei dati).

Grazie David per la risposta, ma non funziona: mi dร  errore

Errore nella createSessionCMIS: 2024542466 org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException: Parsing exception!

HashMap<String, String> params = new HashMap<String, String>();      params.put(SessionParameter.ATOMPUB_URL,"http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom");      params.put(SessionParameter.BROWSER_URL,"http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom");      params.put(SessionParameter.USER, user);      params.put(SessionParameter.PASSWORD, password);      params.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value());      //params.put(SessionParameter.OBJECT_FACTORY_CLASS,"org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl");            try       {         SessionFactory factory = SessionFactoryImpl.newInstance();         setSessionCMIS(factory.getRepositories(params).get(0).createSession());      }       catch (Exception e)       {         logger.error("Errore nella createSessionCMIS: " + e.hashCode() + ' ' + e.toString());      }โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€



ho provato anche con "http://95.110.234.12:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser" e la createSession avviene correttamente e velocemente, ma al momento di fare l'upload mi dร  un altro errore
"org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException: Property 'cm:title' doesn't exist!".
Se lo imposto mi dร  lo stesso problema

Ciao,

se setti il binding a "browser" devi cambiare allo stesso modo anche l'url (alfresco/api/-default-/public/cmis/versions/1.1/browser).

Per quanto riguarda l'errore di upload: la property cm:title รจ nell'aspect cm:titled che devi aggiungere al tuo oggetto prima di valorizzare la property.

blade
Confirmed Champ
Confirmed Champ
Ho provato a fare quanto mi hai segnalato, ma il problema rimane.
La cosa che non capisco รจ che mi dร  errore quando richiamo il getObjectPath().

AlfrescoFolder destinationPath = (AlfrescoFolder) getSessionCMIS().getObjectByPath("/Sites/demo/documentLibrary/Qualitร  18001/Istruzioni Operative/Documenti in redazione");โ€โ€โ€

Volendo posso anche non valorizzare il cm:title, ma l'errore rimane dicendo
<b>org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException: Property 'cm:title' doesn't exist!</b>

La createSession รจ impostata con il binding a "Browser"
HashMap<String, String> params = new HashMap<String, String>();      //params.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser");      params.put(SessionParameter.BROWSER_URL,"http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser");      params.put(SessionParameter.USER, user);      params.put(SessionParameter.PASSWORD, password);      params.put(SessionParameter.BINDING_TYPE, BindingType.BROWSER.value());      //params.put(SessionParameter.OBJECT_FACTORY_CLASS,"org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl");            try       {         SessionFactory factory = SessionFactoryImpl.newInstance();         setSessionCMIS(factory.getRepositories(params).get(0).createSession());      }       catch (Exception e)       {         logger.error("Errore nella createSessionCMIS: " + e.hashCode() + ' ' + e.toString());      }โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€


Imposto il cm:title con l'aspect
HashMap<String, Object> metadati= new HashMap<>();            //Metadati per configurazione tipologia documento      metadati.put(PropertyIds.OBJECT_TYPE_ID,"D:fe:offerta,P:cm:titled" );      metadati.put(PropertyIds.NAME,fileName);      metadati.put("cm:title", "prova");            metadati.put("fe:organizzazione","Demo");      metadati.put("fe:numDoc",60);   โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€


Scusa, ma non ne vengo a capo.

Ad ogni modo non capisco perchรฉ la versione del Java influisca sulla velocitร  di connessione.

blade
Confirmed Champ
Confirmed Champ
Ho capito il problema della lentezza di connessione.

Il mio progetto aveva i riferimenti ai jar di cmis vecchia versione (0.7.0) aggiornandoli alla nuova versione (0.14.0) e aggiornando le varie dipendenze alle nuove release i tempi di connessione sono ritornati quelli normali.