S2StrutsでThrowsInterceptorが呼ばれない
WARN org.apache.struts.action.RequestProcessor - 処理できない例外がスローされました: class org.seasar.struts.exception.ActionMessagesException
で少し悩む。
作成したアクションクラスのスーパークラスにインタフェースを指定していて、
そのインタフェースのメソッドのみに「actionMessagesThrowsInterceptor」が適用されていたので、サブクラスで追加で作成したアクションメソッドには適用されなくなっていただけでした。
サブクラスで追加で作成したアクションメソッドに
@Aspect(value = "actionMessagesThrowsInterceptor")
としたら適用されるようになった。
[追記]
s2-framework-2.4.43
s2-extension-2.4.43
s2-tiger-2.4.43
sa-struts-1.0.4-sp8
maven-war-plugin でリソースファイルを除外する設定
リソースファイルをwarファイルから除外したくて、悩んだ。
pom.xmlで
build-plugins-plugin-configuration-excludes
に入れるだけじゃ除外してくれなかった。
build-resources-resource-excludes-exclude
にも同様の設定をすればOKみたい。
LAN アダプタ不具合
LAN内に1台だけインターネットに繋がらない端末があったので調査。
・ルーターからDHPCでIPアドレスを取得できている
・ping ルーター が応答なし
・ping LAN内PC が応答なし
ということで、LAN内のPCからも対象端末へのpingが通らない。
ケーブルを疑ったが、ケーブルを変えても変わらず。
とりあえず再起動してみると、以下のメッセージが出ていた。
... adapter's configuration is corrupted or has not been
... Boot Agent cannot continue.
のようなエラーメッセージが表示されていた。
そういえばログにも
The EEPROM Checksum Is Not Valid
のような警告が多発していたので、LANボードのエラーで間違いないのではないか。
【解決しました!!】
java.lang.NoClassDefFoundError: org/apache/xerces/dom/DocumentImpl
at org.apache.torque.task.TorqueJDBCTransformTask.createDocumentImpl(TorqueJDBCTransformTask.java:217)
at org.apache.torque.task.TorqueJDBCTransformTask.doExecute(TorqueJDBCTransformTask.java:181)
at org.seasar.dbflute.task.bs.DfAbstractTask.execute(DfAbstractTask.java:93)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1397)
at org.apache.tools.ant.Project.executeTarget(Project.java:1366)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1249)
at org.apache.tools.ant.Main.runBuild(Main.java:801)
at org.apache.tools.ant.Main.startAnt(Main.java:218)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
2011-01-09 01:08:38,296 [main] INFO (DfDataSourceHandler#destroy():115) - ...closeReally()
2011-01-09 01:08:38,312 [main] INFO (DfAbstractTask#showFinalMessage():198) -
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
[Task End]: 00m00s719ms *Abort
DBFLUTE_CLIENT: {tkk}
database = mysql (MySQL 5.0.27-community-nt)
language = java
container = seasar
package = tkk.dbflute
DBFLUTE_ENVIRONMENT_TYPE: {df:default}
driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/tkk
schema = {tkk.$$NoNameSchema$$ as main}
user = tkk
props = {}
additionalSchema =
dataLoadingType = ut
refreshProject = tkk
_/_/_/_/_/_/_/_/_/_/ {JDBC}
※自己解決しました。
この現象はapache-antのバージョンを上げたことが原因のようです。
最近バージョンを上げたことを思い出し、もとに戻したらビルドが成功sるうようになりました。
apache-ant-1.8.1→×
apache-ant-1.7.0→○
何かおわかりの方がおられましたらご教示ください。
dbflute-0.9.7.8 jdbcタスクでNoClassDefFoundError
dbflute-0.9.7.8でantのjdbcタスクで以下の例外が発生します。トラックバック元の現象と同じですが、どのような原因が考えられるのでしょうか?
DB:mysql-5.0.27
dbflute.logでログを確認すると
java.lang.NoClassDefFoundError: org/apache/xerces/dom/DocumentImpl
の例外が発生しているのですが、
mydbflute/dbflute-0.9.7.8/ant/lib/xercesImpl.jar
があるので問題ないかと思ったのですが・・・
何か特別な設定などが必要なのでしょうか?
行った操作は、
1.OSはWindowsXPでIDEがEclipse3.3.2にて
2.Dolteng ProjectでPresentation「SAStruts」Persistence「None」でプロジェクトを作成
3.DBFlute Wizardsの「DBFlute New Client」でLatest Version(0.9.7.8)でクライアントを作成。
4.playsql/replace-schema.sqlを編集。
5.replace-schema.batを実行(エラーなし)
6.jdbc.batを実行(エラー)
6のログ全文は以下です。
2011-01-09 01:08:37,562 [main] INFO (DfDBFluteTaskUtil#getBuildProperties():82) - ...Using contextProperties: build.properties
2011-01-09 01:08:37,578 [main] INFO (DfDBFluteTaskUtil#getBuildProperties():125) - [Build-Properties]: size=1
2011-01-09 01:08:37,578 [main] INFO (DfDBFluteTaskUtil#getBuildProperties():127) - torque.project = tkk
2011-01-09 01:08:37,578 [main] INFO (DfDBFluteTaskUtil#getBuildProperties():129) -
2011-01-09 01:08:37,656 [main] INFO (DfDataSourceHandler#create():72) - ...Creating data source:
2011-01-09 01:08:37,656 [main] INFO (DfDataSourceHandler#create():73) - driver = com.mysql.jdbc.Driver
2011-01-09 01:08:37,656 [main] INFO (DfDataSourceHandler#create():74) - url = jdbc:mysql://localhost:3306/tkk
2011-01-09 01:08:37,656 [main] INFO (DfDataSourceHandler#create():75) - user = tkk
2011-01-09 01:08:37,671 [main] INFO (DfDataSourceHandler#createConnection():161) - ...Connecting to the database:
2011-01-09 01:08:38,187 [main] INFO (DfDataSourceHandler#processConnectionMetaInfo():215) - product = MySQL 5.0.27-community-nt
2011-01-09 01:08:38,203 [main] INFO (DfDataSourceHandler#processConnectionMetaInfo():216) - driver = MySQL-AB JDBC Driver mysql-connector-java-5.1.12 ( Revision: ${bzr.revision-id} ) for JDBC 3.0
2011-01-09 01:08:38,203 [main] INFO (TorqueJDBCTransformTask#doExecute():176) -
2011-01-09 01:08:38,203 [main] INFO (TorqueJDBCTransformTask#doExecute():177) - ...Starting to process JDBC to SchemaXML
2011-01-09 01:08:38,203 [main] INFO (TorqueJDBCTransformTask#doLoadPreviousSchema():970) - ...Loading previous schema (schema diff process)
2011-01-09 01:08:38,234 [main] INFO (TorqueJDBCTransformTask#doLoadPreviousSchema():973) - -> no previous (first time)
2011-01-09 01:08:38,234 [main] ERROR (DfDBFluteTaskUtil#logError():203) - Look! Read the message below.
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Failed to execute DBFlute Task 'JDBC'.
[Advice]
Check the exception messages and the stack traces.
[Database Product]
MySQL 5.0.27-community-nt
[JDBC Driver]
MySQL-AB JDBC Driver mysql-connector-java-5.1.12 ( Revision: ${bzr.revision-id} ) for JDBC 3.0
mysqldump オプションについて
mysqldump 5.0.45
大量のデータをダンプし、復元しようとすると以下の例外が発生。
ERROR 2013 (HT000) at line xxx: Lost connection to MySQL server during query
ダンプファイルのエラー行数をみてみると長いSQL文が生成されていた。
[オプション]
http://dev.mysql.com/doc/refman/4.1/ja/mysqldump.html
この中のオプションで、
- e, --extended-insert
というオプションがあり、これがデフォルトで使用されているよう・・・
これは、「さらにコンパクトで速い挿入ステートメントを提供」ということらしいが
これを解除して復元出来るようになった。
mysqldump --opt --extended-insert=false -uroot -p database > dump.sql
seasar2処理時間が長くなった場合
Eclipse3.3.2 で maven2 プロジェクトで開発しています。
HotDeployを使用。
s2-framework 2.4.37
dbflute
sa-struts 1.0.4-sp5
s2-axis2 0.5.0
dbflute-runtime 0.9.5.3
ブラウザで確認しながら作業していると、突然すべての画面遷移にかかる時間が
長くなってしまい、SVNで正常に動作していた時のソースに戻しても同じ現象が
でた。
コントロールパネルのインターネットオプションで履歴などを削除して、
プロジェクトを一旦削除して、再度チェックアウトしたら直った。
プロジェクトになにかゴミがのこってたのかな〜?