2008/08/13
2008/06/04
VBSでUNICDEの全角文字数を判断する関数
2008/05/27
cayenne+pgpoolではまりどころ
以前、pgpoolをcayenneで利用する為について記載した。
しかし、pgpoolやjndiで再接続機能を利用する為には更に工夫が必要だ。
以下のようにTransactionクラスを継承したクラスを作成する。
そしてSQLを実行する部分をトランザクションしないよう以下のようにする。
しかし、pgpoolやjndiで再接続機能を利用する為には更に工夫が必要だ。
以下のようにTransactionクラスを継承したクラスを作成する。
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Iterator;
import org.apache.cayenne.CayenneException;
import org.apache.cayenne.access.Transaction;
public class NoTransaction extends Transaction {
@Override
public void begin() {
}
@Override
public void commit() throws IllegalStateException, SQLException, CayenneException {
close();
}
@Override
public void rollback() throws IllegalStateException, SQLException, CayenneException {
close();
}
protected void close() {
if (connections == null || connections.isEmpty()) {
return;
}
Iterator it = connections.values().iterator();
while (it.hasNext()) {
try {
((Connection) it.next()).close();
}
catch (Throwable th) {
}
}
}
}
そしてSQLを実行する部分をトランザクションしないよう以下のようにする。
Transaction tx = new NoTransaction();
try {
Transaction.bindThreadTransaction(tx);
Expression expression = ExpressionFactory.matchExp(~);
SelectQuery query = new SelectQuery(Ent.class, expression);
ListentList = getDataContext().performQuery(query);
if (CollectionUtils.isEmpty(entList))
return null;
return entList;
}
finally {
try {
tx.commit();
} catch (Exception e) {
}
}
2008/03/31
Tomcat5.5のログ設定
Tomcat5.5ではデフォルトのログ出力機能はlog4jからJDKのjava.util.loggingを利用するように変更された。
log4jのほうが出力フォーマットの設定等柔軟に変更できるのでlog4jにログ出力を統一しようと思ったら以下のことをやらなければならない。
①${tomcat.home}/common/libにcommons-logginとlog4jのライブラリをおく。
②${tomcat.home}/common/classesにlog4j.xmlをおく
log4jのほうが出力フォーマットの設定等柔軟に変更できるのでlog4jにログ出力を統一しようと思ったら以下のことをやらなければならない。
①${tomcat.home}/common/libにcommons-logginとlog4jのライブラリをおく。
②${tomcat.home}/common/classesにlog4j.xmlをおく
2008/03/19
JavaのMessageFormat.formatメソッドについて
変換対象の文字列に「{」や「'」が含まれている場合は
以下のように「'{'」や「''」とする。
String s = "function aaa() '{' alert(''{0}''); '}' ";
結構はまりどころ。
以下のように「'{'」や「''」とする。
String s = "function aaa() '{' alert(''{0}''); '}' ";
結構はまりどころ。
登録:
投稿 (Atom)