■
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-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
に書き込まれている。