[ https://issues.apache.org/jira/browse/OPENJPA-2690?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Struberg resolved OPENJPA-2690. ------------------------------------ Resolution: Fixed Assignee: Christian Schneider Christian, I think this can be closed, right? Matt, thanks for the report! > Update OSGi Import-Package to support Oracle CLOB/BLOB > ------------------------------------------------------ > > Key: OPENJPA-2690 > URL: https://issues.apache.org/jira/browse/OPENJPA-2690 > Project: OpenJPA > Issue Type: Bug > Affects Versions: 2.4.2 > Reporter: Matt Pavlovich > Assignee: Christian Schneider > Priority: Major > Fix For: 2.4.3 > > Attachments: OPENJPA-2691.patch > > > When openjpa is running in an OSGi environment (Karaf 2.4.0) and all packages > not being imported properly may result in the oracleClob_empty_lob_Method > being set to null, a NPE will occur when trying to persist an entity with a > NULL CLOB column. > getEmptyClob() (and probably getEmtpyBlob as well) should detect for > oracleClob_empty_lob_Method being set to NULL before attempting to invoke the > method, or just return the EMPTY_CLOB constant. > {noformat} > private Clob getEmptyClob() > throws SQLException { > if (EMPTY_CLOB != null) > return EMPTY_CLOB; > try { > return EMPTY_CLOB = (Clob) > oracleClob_empty_lob_Method.invoke(null, new Object[0]); > } catch (Exception e) { > throw new SQLException(e.getMessage()); > } > } > {noformat} > Reference: > During constructor of OracleDictionary.. this may return null: > {noformat} > private Method getMethodByReflection(String className, String methodName, > Class<?>... paramTypes) { > try { > return Class.forName(className,true, > AccessController.doPrivileged(J2DoPrivHelper > .getContextClassLoaderAction())). > getMethod(methodName, paramTypes); > } > catch (Exception e) { > // all fine > } > return null; > } > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)