java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)

クエリーログを出力する。

Windowsの場合

MySQLの設定ファイルmy.iniに、以下の行を記述

mysqld
log=myquery.log
MySQLを再起動する。

C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data
に、myquery.logというファイルが作成され、クエリログが記録されるようになる。

[00000] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld, Version: 5.1.30-community-log (MySQL Community Server (GPL)). started with:
[00001] TCP Port: 3306, Named Pipe: (null)
[00002] Time Id Command Argument

Hibernateを使っていてLazyInitializationExceptionで悩む

(())

((org.seasar.mayaa.impl.cycle.script.rhino.OffsetLineRhinoException: Wrapped org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed in script=
popup.popupUrl (/html/common/Popup.mayaa#write#4)))
の例外が発生。

参照できないオブジェクトへは、以下のような取得、リクエストスコープへの設定を行っていた。


基底クラス
  ↑継承
サブクラス

サブクラスで、Hibernateのセッション作成
データベースへのアクセスしオブジェクトを取得←まだSQLが発行されない?
リクエストスコープへオブジェクトをセット

基底クラスでHibernateセッションを閉じる

プレゼンテーション層で、オブジェクトを取得←ここで例外。セッションを閉じなければ、ここでSQLが遅延実行される。


基底クラスでHibernateのセッションを閉じてしまうのが、原因らしいけど。。
フィルターでトランザクションの開始、トランザクションの終了、セッションを閉じる処理を行えば良いのか。

うーん、ちょっと悩んで、そもそも遅延ロードっていらなくない?
という気が。

パフォーマンスを向上させるHibernateの特徴のひとつらしいが、
実装中、これが問題になってはまることが多くて、Hibernateに慣れてる人ならあたりまえのことでも、毎回はまってしまう。

で、

問題のテーブルのマッピングファイルのclass要素に、lazy="false"を設定。

例外は、解決された。

PHPでHello World!(Windows編)

Apacheをインストールする。


•Win32 Binary including OpenSSL 0.9.8m (MSI Installer): httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi [PGP] [MD5] [SHA1]
を選択する。

ドメイン名は、test.com
サーバー名は、www.test.com
管理者Emailアドレスは、test@test.com

と入力しインストールする。
上記項目は、後からhttpd.confを修正することにより変更が可能。

インストールが完了したら、
http://localhost/
にアクセス。

It works!

と表示されればインストールは成功。



Apacheをインストール直後の状態で、

C:\Program Files\Apache Software Foundation\Apache2.2\htdocs

の下に、hello.php



PHPのサイトからPHPをダウンロードする。

php-5.2.11-Win32.zip

解凍したファイルをc:\phpに移動
中身はこんな感じ。

php5ts.dllをC:\WINDOWS内にコピー。

php.ini-distをコピーして、php.iniとリネームしてC:\WINDOWS内にコピー。

php.iniの修正

include_path = ".;c:/php/includes;c:/php/pear"
doc_root = "C:/Program Files/Apache Group/Apache/htdocs"
extension_dir = "c:/php/ext"
extension=php_mysql.dll


libmysql.dllをC:\Windows\system32にコピー

httpd.confの修正

LoadModule php5_module c:/php/php5apache2_2.dll
を追加

AddType application/x-httpd-php .php
を追加

PHPIniDir "c:/php"
を追加


ここで、おもむろにhttp://localhost/hello.phpにアクセスすると、

表示されました!

Bugzillaのソースコードファイルの中でデータベース接続の定義がしてある場所

Bugzillaのインストール時に指定したデータベース接続情報

ホスト名(URL)
データベース名
ユーザ名
パスワード

は、{Bugzillaのドキュメントルート}/localconfig

に書き込まれている。