MyBatisのif文

2019年9月4日 Java
MyBatisのif文で嵌ったのでメモ。
下記ではエラーになる。
<id test="foo == ’var’">

なので下記のように書く。
<id test="foo.equals’var’)">

equalsでJava構文の様に書くことで何とかなる。
Tomcat起動時にcatalina.outに以下のログが出力されていた。
「UnknownHostException 名前またはサービスが不明です」
原因はhostnameと/etc/hostsに記述されている自身のホスト名(127.0.0.1)の名称が一致しないためだった。該当箇所を変更して再起動したところ、無事解消された。

暖機運転

2017年4月6日 Java
Javaを使っていて処理速度の計測を行うことがあった。
計測対象の処理がループ無いに存在していて、かつ同じループの内部で他の処理が行われていたため、以下の様に計測を行った。
// 総計時間
long totalTime = 0;

for(...) {
 // 処理開始直前
 long startTime = System.currentTimeMillis();

 // ここに調べたい処理
 execute...

 // 処理終了直後
 long endTime = System.currentTimeMillis();
 totalTime += endTime - startTime;

 // ここに別の処理
 ...
}
System.out.println(totalTime);


TomcatのWeb.xml内にあるwelcome-fileを設定しておくと、末尾が/でディレクトリ検索を行われた時に遷移できる。大体index.htmlとかindex.jspになっているはず。
<welcome-file-list>
  <welcome-file>hoge.do</welcome-file>
</welcome-file-list>

WebContent直下にhoge.doファイルを置いておくと、それに遷移出来る。
さらにその内部に特定のファイルへの自動遷移を書いておくと、そこに飛ばしてくれる2段構えも出来る。特定のリクエストパラメータを付与した状態で飛ばす場合は、hoge.doに追記が必要。
hoge.doの中身
<script type="text/javascript">
  window.onload = function(){
    var url = "login.php";
    if(1 < window.location.search.length){
      url = url + window.location.search;
    }
    window.location.href = url;
}
</script>

ファイルダウンロードに関するメモ。
アンカーリンクに type="application/octet-stream"

response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment; filename=" + foo);

※fooはファイル名。日本語(2バイト文字)の場合はエンコードが必要。
AWSのELB(Elastic Load Balancing)下での接続元IPアドレスが取得できなかったのでメモ。

※X-Forwarded-Forの設定が行われている事が前提
public String getSrcIP(HttpServletRequest req) {
 String srcIp = req.getRemoteAddr;
 return srcIp;
}


public String getSrcIP(HttpServletRequest req) {
 String srcIp = req.getHeader("X-Forwarded-For");
 return srcIp;
}


iBatisを使用して以下の様な記述を行ったらエラーになった。
select "COLUMN1"
from "TABLE_NAME"
where "COLUMN2" = #var#
and "UPDDATE" >= now() - interval '#howMonth# month'

赤文字にあるように、シングルクォート内では#howMonth#が'値'として展開されてしまうため、下記の様にする必要がある。
select "COLUMN1"
from "TABLE_NAME"
where "COLUMN2" = #var#
and "UPDDATE" >= now() - interval '$howMonth$ month'

#ではなく$を使用する。

tomcatメモ

2016年8月8日 Java
再起動できない時のメモ。

モノをあれこれ入れ替えたので、再起動を試みる。
service tomcat restart
Shutting down tomcat
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/default
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /var/run/catalina.pid
PID file found but no matching process was found. Stop aborted.

どうも再起動に失敗しているようなので調べてみた。
ps axu | grep "tomcat" で既にtomcatは起動していない。
tomcat.pid でPIDを確認するが、ps -e | grep "tomcat" でPIDを確認すると何も出ていない。そんな訳で残骸ファイルっぽい tomcat.pid を削除する。
rm ./tomcat.pid
tomcat is not running になっている事を確認する。
これで再度 service tomcat restart で起動できた。

最新の日記 一覧

<<  2025年6月  >>
1234567
891011121314
15161718192021
22232425262728
293012345

お気に入り日記の更新

この日記について

日記内を検索