Domanda

Prima di tutto, apprezzerei se qualcuno potesse aggiungere il tag "Apache-Chemistry", non ho abbastanza mana per questo.

Non riesco a trovare alcuna informazione su questo Binding locale, è il terzo modo per connettersi a un server OpenCMIS.

È il caso in cui si desidera avere un livello di accesso condiviso in un repository remoto e un repository JCR in esecuzione a livello locale, ad esempio. È ovvio come funziona la configurazione remota, ma non capisco cosa significhi:

parameter.put(SessionParameter.LOCAL_FACTORY, "my.local.factory");

A cura di: nel frattempo ho scoperto che potrebbe essere il connettore del repository, in cui i dati dei client CMIS vengono convertiti e spinti, ma non sono sicuro ...

Un connettore del repository deve estendere la classe AbstractserviceFactory

È stato utile?

Soluzione 3

È complicato spiegare, suppongo che la cosa migliore da fare sia verificarne Inmemoryserver da svn. La documentazione a cui si fa riferimento è un esempio di API client, in cui l'interfaccia di sessione contenga le operazioni CMIS più importanti.

SessionFactory factory = SessionFactoryImpl.newInstance();
Map<String, String> parameter = new HashMap<String, String>();
..........
parameter.put(SessionParameter.LOCAL_FACTORY, "my.local.factory");
..........
Session session = factory.createSession(parameter);

Dopo aver avuto la fonte, dai un'occhiata a "InmemoryServiceFactoryImpl" che è il LOCAL_FACTORY Valore dei parametri. Questa fabbrica ha un service() Metodo che ritorna InMemoryService, che contiene riferimenti a tutti i tipi di servizi CMIS e IT come una sorta di facciata per la semplificata utilizzando tramite l'API client (Session Way).

Un altro modo è l'utilizzo dell'API di associazione client, in cui si accede direttamente ai servizi CMIS concreti.

CmisBindingFactory factory = CmisBindingFactory.newInstance();
CmisBinding binding = factory.createCmisLocalBinding(parameters); // LocalBinding !!
fFactory = binding.getObjectFactory();
fRepSvc = binding.getRepositoryService();
fObjSvc = binding.getObjectService();
fNavSvc = binding.getNavigationService();
fVerSvc = binding.getVersioningService();
fMultiSvc = binding.getMultiFilingService();
fDiscSvc = binding.getDiscoveryService();

ecc., ecc., Dai un'occhiata ai test, che praticamente coprono la maggior parte dei casi d'uso.

Altri suggerimenti

Dovrebbe essere il

Nome classe della fabbrica di servizi locali se il client e il server risiedono nello stesso JVM

Vedere Creazione di un'istanza vincolante locale qui e descrizione per local_factory qui

Devi avere un Implementazione del server OpenCmis Per utilizzare il legame locale. Se ce n'è uno, passa il nome della classe della fabbrica di servizi e il cliente lo utilizzerà. Chiamerà direttamente i servizi (interfacce Java) senza inviare dati sulla rete. Non c'è nient'altro da fare sul lato cliente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top