[Java][Framework] Spring BootのJPAでDB接続した際のEntityキャッシュのクリア方法

公開日: : Framework, Java , , , , , , ,

[概要]

Spring BootのJPAでDBアクセスした際に、処理を一定量こなすと、Heapが足りなくなってOutOfMemoryでコケる件でハマったので、解決法をメモ。

とはいっても単純でEntityManagerを持ってきて、クリアするだけ。

Hibernate初心者のわたくしにとっては、非常に難関でございました。

具体的には、以下のエラーがでたらの対象法になります。

[エラー内容]

java heap error

[対応]

EntityManagerを取得して、キャッシュをクリアするだけです。
最初は、どこかにメソッドインターフェースがあって、XXXX.getEntityManager()的なもので取得するのかなーと思っていましたが(古い)
案の定そんなものはなく、アノテーションを指定して、DIで取得する文化でした。

public class XxxxxLogic(){

	// EntityManagerをDI
	@PersistenceContext
	EntityManager entityManager;

	public void xxxxEntityCacheClear(){
		// cacheクリア
		entityManager.clear();
	}

・・・・・
}

これだけです。簡単ですねー。
Entityを指定してクリアする方法もネットサーフィン(死語)してたらありましたが、1次キャッシュと2次キャッシュがあるらしく、参照が残ってしまっていて、うまくGC対象にならずOutOfMemoryが直らなかったので、まだわかってません。

わかったら追記しまっす。

スポンサードリンク

関連記事

no image

[Java][Eclipse] Mavenが利用可能な動的Webプロジェクトの作成

こんにちは、keiです。 今回は、Mavenが利用可能な動的Webプロジェクトの作成について解

記事を読む

no image

[Java] 文字列の分割(split)

こんにちは。 今回は、文字列の分割について解説します。 昔はStringTokenize

記事を読む

no image

[Java][基本] ループ処理(for文)

Javaのループ処理の基本である、for文を解説します。 ●文法 for( [①初期化];

記事を読む

no image

[Java][Framework] Spring Bootを使って、Spring MVC速攻開発してみる!(DB接続あり)

STSインストール STSは、EclipseにSpring関連のいろいろな機能を詰め込んだオールイ

記事を読む

no image

[Java] StringBuilderの使い方(Stringを連結するクラス)

今回は、可変長文字列クラスのStringBuilderを紹介します。 固定長文字列クラスのSt

記事を読む

no image

[Java][Spring] Spring3でDIしてみる!(アノテーション使用)

Spring3を使って、一番基本的な形のプログラムを作成してみます。 今回は、アノテーションを

記事を読む

no image

[Java][Spring] DIする方式を細かく見てみる① @ScopeでのSingletonとPrototypeの指定

今回は@Scopeアノテーションを用いて、オブジェクトをDIする方式を選択してみます。 ●解説

記事を読む

no image

[Java][Servlet] EclipseでのJavaServlet作成

こんにちは、今回はEclipseを使用してJavaServletを作成します。 Eclipse

記事を読む

no image

[Java] テキストファイルの読み込み方法

こんにちは、今回はテキストファイルをJavaで読む方法を紹介します。 標準で提供されているクラ

記事を読む

no image

[Java][MySQL] JavaからMySQLを使う方法

MySQLは、フリーでありながら商用としても使用できるパワーを持つデータベース(RDB)です。

記事を読む

スポンサードリンク

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサードリンク

no image
[Re:dash] BigQuery接続で日本語タイトルを出す(v2.0.0)

BigQueryは現在マルチバイトを含むSQLを発行することができない

no image
[Python] Nullの判定方法(None)

Nullの判定方法(None) 表記方法 Pythonでは、Nul

no image
[Python] 型の検査・判定

Pythonでの型の検査・判定方法 isinstance サン

no image
[python] 日付の取り扱い(datetime) 現在日付、計算、文字列変換(format)

現在日付 日付の計算 [crayon-5b054c57b57b

no image
[python] 文字列結合

pythonでの文字列結合 サンプル

→もっと見る

  • 2018年5月
    « 10月    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
  • 2018年5月
    « 10月    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
PAGE TOP ↑