Java

SQLDatabaseとMyBatisによりスロークエリが発生する問題を解消した

JDBCを利用したORマッパーのMyBatisとSQLDatabaseの組み合わせで、パフォーマンス 問題(スロークエリ)が発生し、解決まで導いたので、メモ。 問題は、char、varcharのフィールドに対する暗黙の型変換と文字コードが悪さをしていた。 MyBatisからSQLServer…

SpringBoot+logbackでログローテーションがされない問題でハマる

先に結論を言うと、アプリの設定はできていたのだが、サーバのログ出力先のディレクトリの書き込み権限がなかったというのが問題だった。 環境 ・Java8 ・SpringBoot2.2.4 ・Tomcat9 ・サーバはLinuxだがバージョンは忘れた 状況 ・インフラ的な制約があり、…

SpringBoot2.2.5 画面遷移でハマった。HTMLの表示、redirect、forwardする方法

久々にSpringBootを使って、画面の開発を行っている。 Tomcat等のAPサーバに縛られない開発はとても快適だ。 直近がRuby On Railsでの開発だったのもあり、Java屋の自分はホームゲームで戦えている気分。 そんな中、画面遷移時に画面遷移先の初期表示メソッ…

SpringMVCのFormの配列の上限値の初期値が256でIndexOutOfBoundsException落ちる件

先日SpringMVCで作ったWebアプリの性能試験を行っていた。その内容はデータを一覧形式で表示する業務システムにありがちな画面で、200件弱のデータを検索して再検索をするとIndexOutOfBoundsExceptionが発生してInternalServerErrorになってしまうというもの…

Spring JDBCのJDBCTemplateの処理が遅くてハマった。Oracleとfetchsizeのハナシ

最近Springベースでシステムを作っていて、JDBCTemplateを使ったOracleへのアクセスをしている。その中で、件数が多い(といっても5000件程度)データをSELECTすると処理が遅くなって、ハマった。 環境 ・ JDK8 ・SpringFramework 4 ・ORACLE 11g 処理イメー…

s2Maiで認証エラー

s2Maiで認証エラー com.ozacc.mail.MailAuthenticationException: Authentication failed: null→userIdという名前が予約語になっているので認証できなくなってしまった。 残念な結果。

Javaで連続した日付を取得する方法

タイトルの通り、連続した日付を取得する要件があった。 指定したした回数分日付を作成しなければならなかった。 しかし、日付をただ加算していくだけでは、不正な日付ができ続けるだけだった。 結果、欲しい結果を手に入れられたので、メモ。 Java7で確認…

Javaで同一IDのフィールドをマージする。

久しぶりにゴリゴリとJavaを書いている。 そんな中、以下の様な要件があってJavaで対応することになった。 今回のお題 ①テーブル構造はidとnameのみで両方合わせて一意(PK)である ②同一idのnameをまとめてカンマ区切りで表示したい。 データの例としては以…