Recientemente ADF me ha vuelto a sorprender con un fallo al momento de trabajar con campos CLOB, la verdad que hace muchos meses que no veia una cosa similar (Ya era momento de un nuevo desafío).
Durante el desarrollo y pruebas en la aplicación ADF, incluso con el tester de los BC funciona correctamente, pero desplegada la aplicación como ADF Library, al principio no daba problemas, pero recientemente a empezado a dejar de funcionar, indicando en la traza que había un problema de NPE con un campo CLOB (el cual en base de datos es nullable) al momento de hacer un insert en la tabla.
Para obtener un poco más de información tuve que activar el modo debugger de los BC (-Djbo.debugoutput=console) obteniendo el siguiente resultado:
Entity read all attributes [3270] EntityImpl.doDMLWithBlob failed... [3271] java.lang.NullPointerException
at oracle.jbo.domain.ClobDomain.writeCharsToLob(ClobDomain.java:1323)
at oracle.jbo.domain.ClobDomain.saveToDatabase(ClobDomain.java:453)
at oracle.jbo.server.EntityImpl.doDMLWithLOBs(EntityImpl.java:8918)
La forma como evitar este fallo es cambiando en la definición del Entity Object de ClobDomain a Clob.
Nota: si ha generado la clase Java asociada al EO/VO lo mejor es volver a regenerarlas.
La versión de ADF en la que me sucedio el fallo es la 11.1.1.7.
- FIN -
No comments:
Post a Comment