私は答えを待つことをあきらめ、自分で実装しました。このコードは、cloudinary_java プロジェクトのこのフォークで入手できます。
また、公式の cloudinary_java プロジェクトへのプル リクエストも作成しました。
次のように新しい機能を使用できます。
<%@ taglib prefix="cl" uri="http://cloudinary.com/jsp/taglib" %>
...
<cl:upload tags="userProfilePhoto" fieldName="cloudinaryResource" />
<input type="hidden" name="cloudinaryResource" />
cloudinary のドキュメントに従って、アップロードする画像を取得できるはずです。次に、正常にアップロードするためのハンドラーを登録し、public_id とフォーマットをサーバーに保存する方法を見つけます。
cloudinary イメージ タグを使用してタグを作成する例を次に示します。
<cl:image id="profilePhoto" crop="crop" height="120" width="120"
extraClasses="profilePhoto" publicId="${cloudinaryPublicId}" format="jpg" />
Cloudinary を次のように構成します。
私たちのプロパティファイルで:
cloudinary.api.key=<api-key-here>
cloudinary.api.secret=<api-secret-here>
cloudinary.cloud-name=<cloud-name-here>
cloudinary-config.xml の春の設定で:
<bean id="cloudinaryConfigMap" class="java.util.HashMap">
<constructor-arg>
<map key-type="java.lang.String" value-type="java.lang.String">
<entry key="api_key" value="${cloudinary.api.key}" />
<entry key="api_secret" value="${cloudinary.api.secret}" />
<entry key="cloud_name" value="${cloudinary.cloud-name}" />
<entry key="callback" value="$[app.url.base]/path/to/cloudinary_cors.html" />
</map>
</constructor-arg>
</bean>
<bean id="cloudinary" class="com.cloudinary.Cloudinary">
<constructor-arg index="0" ref="cloudinaryConfigMap" />
</bean>
<bean id="cloudinarySingleton" class="com.cloudinary.SingletonManager"
init-method="init" destroy-method="destroy">
<property name="cloudinary" ref="cloudinary" />
</bean>
これにより、設定システムから Cloudinary が設定され、結果が SingletonManager に保存されます。Spring コンテキストがシャットダウンされると、Cloudinary オブジェクトがシングルトンからクリアされるため、メモリ リークは発生しません。
これが他の誰かに役立つことを願っています!