[ https://issues.apache.org/jira/browse/MINIFICPP-751?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16783511#comment-16783511 ]
Arpad Boda commented on MINIFICPP-751: -------------------------------------- The immediate release is a good idea, better than the original one I had. In this case we don't even need a class, just a util function to get the std::string using the _env_ and the _jnistring._ Thanks! > Discussion: RAII over JNI UTF strings > ------------------------------------- > > Key: MINIFICPP-751 > URL: https://issues.apache.org/jira/browse/MINIFICPP-751 > Project: NiFi MiNiFi C++ > Issue Type: Improvement > Reporter: Arpad Boda > Assignee: Arpad Boda > Priority: Minor > > In this PR #489 I've noticed that JNI UTF string usage is error-prone as > releasing can be easily missed by the developer or simply get skipped because > of an exception. > To avoid this my idea was to create a wrapper object that can be used as an > std::string and handles get/release calls. > As [~phrocker] pointed out, this object has to be kept in a small block to > avoid storing ref on both the string itself and the JNI env. > This can partly be achieved by blocking copy/move construction/assigment and > new, but still leaves some possibility to allocate this object on heap. > In my opinion the restrictions above with some comments in the class would > help and make it safer, although I'm not sure it worth the effort. > > [~phrocker], [~aldrin], what's your opinion? -- This message was sent by Atlassian JIRA (v7.6.3#76005)