java

LogbackのFixedWindowRollingPolicyで、日時ローテートする。

Logbackの、FixedWindowRollingPolicyを使って、日時ローテートしたいときに使えるTriggeringEvent。 package com.example; import java.io.File; import java.util.Date; import ch.qos.logback.core.Context; import ch.qos.logback.core.rolling.Triggeri…

Tomcat6のcometを試す。

Tomcat6を使ってCometができるようなので試す。 http://www.oki.com/jp/oss/document/tomcat/tomcat60-docs-ja/aio.htmlCometの通信を扱うクラスは、org.apache.catalina.CometProcessorインタフェースをしたサーブレットとして用意する。 import java.io.IO…

Oracleのスクロール可能カーソルの実装

S2Pagerを使っていたら大量な検索結果のあるSQLで、OutOfMemoryError。原因を調べていたら、これ。http://otndnld.oracle.co.jp/document/products/oracle10g/101/doc_v5/java.101/B13514-02.pdf via http://otn.oracle.co.jp/forum/thread.jspa?messageID=1…

Jadのオプション

jad -s java -r -nonlb -lnc -f -o

ストアド

ストアドの定義 create or replace procedure update_syohin ( pi_syohin_id in number, pi_syohin_name in varchar2, pi_remarks in varchar2, po_syohin_count out number ) is begin select count(syohin_id) into po_syohin_count from nms_t_syohin_1 w…

WebLogicが使用するファイルディスクリプタが増えない。

OSの設定は、8192 にしてるのに、WebLogicが以下のログを出力しており、なぜかファイルディスクリプタを、1024 しか使用してくれない。 ####JST> > <> ####JST> > <> どうやら、過去に、1024に制限するようなパッチを入れたらしい。 commEnv.shの中の rese…

jmap

これは便利だ。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/share/jmap.htmlEden/From/To領域それぞれの値とか出してくれるし。 クラスごとのオブジェクト数とサイズも出してくれる。 この出力結果をパースしてグラフ化してくれるツールがあれば、…

メモリリークかな?

ヒープ最大サイズ512Mが、1時間程度で食いつぶされて。 数秒ごとにFull GC。 そして、CPU100%。OutOfMemoryError。 明らかにまともな状況ではないと思われる。 けど、Weblogicのフレームワークをいろいろ使っている上*1に、実装に関わってないから、よくわか…

Weblogicのクラスローダ

http://jp.bea.com/e-docs/wls/docs81/programming/classloading.html クラスローダの一部だけを更新することはできない。更新したいときは全て捨てる必要がある。 weblogic.xmlのprefer-web-inf-classesでWeb アプリケーションに関連するClassLoaderのロー…

しらなんだ。

MessageFormatとかDateFormatってスレッドセーフじゃないのね。 今まで、スレッドセーフだと思い込んでた。。 前の会社でやってたシステムで、スレッドセーフだと思いこんだまま、作りこんじゃってるのがあるぞ。 まぁ、今更言ってもどうにもならないけど。 …

Sokcetを使って通信

使っていないと、すぐに使い方を忘れてしまうのでサンプルで作ったプログラムごとメモしておく。 サーバプログラム import java.net.*; import java.io.*; public class SocketListenerSample { public static void main(String[] args) throws Exception { …

Velocityで独自のディレクティブを作る。

デフォルトで使われているディレクティブは(if、foreach等)、org/apache/velocity/runtime/defaults/directive.properties に定義されている。 directive.propertiesの内容は以下の通り。 directive.1=org.apache.velocity.runtime.directive.Foreach direct…

メモ

org.apache.velocity.runtime.Parser#parse( Reader reader, String templateName )

便利な道具も正しく使わないと意味がない。

SQLインジェクションされないようにPreparedStatementを使います。 パフォーマンスがよくなるのでPreparedStatementを使います。 といっても、PreparedStatementをこんな風に使われてたら何の意味も無い。 String sql = "SELECT * FROM HOGE WHERE ID='" + i…

こんな書き方できるのね。

インナークラスを定義して、 public class Hoge { public class InnerClass() { } }Hogeクラスのインスタンスを作っから、 Hoge hoge = new Hoge(); hoge.new〜する。 Hoge.InnerClass innerClass = hoge.new InnerClass();hoge.new の部分が何気にスクリプ…

JDBC SQLエスケープ構文

http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jdbc/getstart/statement.html#999472知らなかったのでメモしておく。OracleでLIKE構文中にエスケープ文字を指定する場合は以下のように書く。 〜 WHERE name LIKE 'hoge\_moge' ESCAPE '\'でもこれはOracle…

シグナルを拾う。

Javaで、シグナルを扱えないものかと思い、探してみたらあった。 sun.miscだけど。実装は簡単。 SignalHandlerを実装して、Signalのhandleに登録するだけ。 import sun.misc.Signal; import sun.misc.SignalHandler; public class SignalTestMain { public s…

いい感じな気配

□CoolなEclipseプラグイン(5) http://www.atmarkit.co.jp/fjava/rensai3/eclipseplgn05/eclipseplgn05_1.html QuickRExプラグイン Log4Eプラグイン CrossJ PropEditorプラグイン 3つともよさげ。 プロジェクトで地味に活躍しそう。

Jester

http://www-6.ibm.com/jp/developerworks/java/050325/j_j-jester.html Jesterはソースコードを変更して再コンパイルし、テスト・スイートを実行して、何かが壊れないかを調べるのです。例えば、1を2に、あるいは if (x > y) を if (false)に変更します。 ほ…

Sun Java Computing 2005 - 2日目

セッションがつまらないので途中で帰宅。眠い。 まじめに聞いてたのは、Linda DeMichielの基調講演だけ。 内容はこれまでのEJBの変遷とEJB3.0について。 昨日のCraigさんの話と似た展開。 今までEJBの新しいリリースに興味もつことってなかったんだけど、EJB…

Java Computing 2005 Spring

http://jp.sun.com/jc2005/index.html明日明後日はこれ。1日目は丸一日Annotation。 眠くなりそうだ。

SSLアクセラレータ使ってsendRedirect

とあるJavaで構築されているサイトで、HTTPS でアクセスさせたいのに、あるページにアクセスすると、HTTPになっちゃう事象発生。 あるページってのは、リダイレクトを使ってるページ。 原因は、SSLアクセラレータとアプリが上手く連携できるようなつくりにな…

管理ポートを有効にする。

管理サーバへのアクセスを特定のポートかつ、SSLでのみ接続可能にするために、管理ポートを有効にする。 http://edocs.beasys.co.jp/e-docs/wls/docs81/adminguide/network.html#1158445 余裕!と思ってたら、はまったので、めも。 最初の設定は以下のとおり…

ポリモれない。。orz

オブジェクトを登録するとこで、Class#getDeclaredMethods()呼んでる。。例えば、 public Parent { public String getLastName() { return "山田"; } public String getFirstName() { return "太郎"; } } public Child extends Parent { public String getFi…

JSONRPCBridge

JSONRPCBridgeには、register〜というメソッドがいくつかある。 それぞれを以下に説明する。 void registerObject(Object key, Object o) oのインスタンスメソッド全てをリモートメソッドとして登録する。 これは先の例でも使った。 void registerClass(Stri…

非同期でやる。

非同期でリモートメソッドをコールする。 先のJSPのJavaScript部分を以下のように書き換え。 jsonrpc = new JSONRpcClient("/jsonrpc/JSON-RPC"); var callback = function(result, error, profile) { document.write(result); } jsonrpc.hello.sayHello(cal…

JSON-RPCを触ってみた。

http://oss.metaparadigm.com/jsonrpc/ から、ダウンロード。JSON-RPCは、JavaScriptからサーバサイドのJavaオブジェクトをリモート呼び出しするライブラリ。サーバサイドのJavaオブジェクトを以下のようなJavaScriptのコードから呼び出せる。 var jsonrpc =…

ajax と json-rpc と XMLHttpRequest

via 2005-02-23 どれこれも楽しげ。 明日、触ってみよう。

なんとなくわかってきた

POMは、プロジェクトってこういうものよってのをあらわしたモデル。 プロジェクトには、ソースがあったり、バージョンがあったり、テストケースがあったりするものよ、と。 で、project.xmlは、具体的な値(ソースのディレクトリだったり)を、そのPOMのモデ…

メモ

■プロジェクトディスクリプタのリファレンス http://maven.apache.org/reference/project-descriptor.html ■プロジェクトディスクリプタのXML-Schema http://cvs.apache.org/viewcvs.cgi/maven/src/xsd/maven-project.xsd ■ディレクトリのレイアウト http://…