Foros de discusión

Liferay 6.2 Service Builder connesso ad un db esterno

Marco Codeluppi, modificado hace 8 años.

Liferay 6.2 Service Builder connesso ad un db esterno

New Member Mensajes: 19 Fecha de incorporación: 4/04/11 Mensajes recientes
Ciao a tutti,
sono alle prese con un problema che non riesco a risolvere.
Ho un'installazione di liferay che si appoggia ad un db MySQL. Il cliente ha chiesto la realizzazione di un portlet che espone dei dati in formato tabellare.
Questi dati sono da recuperare da una tabella che risiede su un db esterno, che risiede su AS400 ed è DB2.

L'idea è quella di utilizzare il service builder di liferay facendolo puntare al db DB2 in modo da poter utilizzare le strutture di default che liferay mette a disposizione.

Ho seguito vari post:
https://www.liferay.com/it/web/ssrikanthreddy1410/blog/-/blogs/connecting-to-different-database-using-liferay-service-builder
http://liferaytrends.blogspot.in/2012/05/connecting-to-different-database-using.html

che sono abbastanza chiari, ma al momento del deploy del portle ottengo l'errore in allegato al post.

Liferay non riesce a trovare il dialetto, che però nel file hibernate3.jar su cui si appoggia il portale è presente.

Allego anche il file ext-spring.xml utilizzato nel plugin

Dove posso specificare il dialetto di hibernate solo per il mio servizio?
Oppure che altra soluzione posso mettere in campo?

Grazie in anticipo

MArco
Marco Codeluppi, modificado hace 8 años.

RE: Liferay 6.2 Service Builder connesso ad un db esterno

New Member Mensajes: 19 Fecha de incorporación: 4/04/11 Mensajes recientes
Ciao,

osservando il codice sorgente della classe DialectDetector ho visto che alla line 75 circa è scritto questo codice:

else if (dbName.startsWith("DB2") && (dbMajorVersion >= 9)) {
				dialect = new DB2Dialect();
			}

che controlla esplicitamente la versione del DB utilizzando i metadati della connection.
La major version del database a cui devo accedere io è la 7 e quindi veniva saltato il settaggio del dialetto.

La soluzione adottata è stata fare un ext plugin che aggiunge un controllo puntuale sulla versione del DB.

Mi incuriosisce però il codice originario.... qualcuno riesce a darmi qualche delucidazione in merito alla scelta di controllare la major version e soprattutto controllare solo dalla 9 in avanti? Qual'è il ragionamento che sta alla base di quel codice?

Ciao ciao

Grazie

MArco
thumbnail
Daniele Baggio, modificado hace 8 años.

RE: Liferay 6.2 Service Builder connesso ad un db esterno

Expert Mensajes: 336 Fecha de incorporación: 5/12/08 Mensajes recientes
Se esiste quel controllo significa che non è più garantito che ci sia compatibilità con versione precedenti di DB2.
E credo sia una decisione presa molto tempo fa ormai.
L'history del file in gitub arriva al 2009 e tale modifica era già presente.
Sorry.

@baxtheman