[
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)