今日はReactとReduxに追いつくため、記事を漁ったりコードを変えたりしていたら進捗が…。加えて、調べたものはチュートリアルレベルなので、情報として再度共有すべきでもありません。なので、先週あたって部分的に解決できた問題を共有します。以下、先週の文章です。
==========
セッションのタイムアウトが起きた際は、managerで表示されているスキーマがデータベースにあることを確認する必要があるようです。
インターン初日に悩んだエラーがセッションのタイムアウトだったのですが(なんで最初と今のアカウントが違うんだろう…)、今日も出てしまいました。ただ、今回のエラーは面白い(出た瞬間は面白くもなんともなかった)エラーでした。セッションのタイムアウトのエラーは基本的にローカルのAipoでタイムアウトエラーの表示が切り替わらない時[ 追記 ]のエントリーで解決すると思うのですが、新しいパターンな気がします。 データベース周りの不具合、という点では既出ネタですが。
まずレビューをするためにアカウントを作ったのですが、 送信されたメールのリンクをクリックすると以下の文が提示されました。
セッションがタイムアウトしました。 ブラウザが切り替わらない場合は、再読み込みをお願いいたします。 timeout
mvn clean
してもだめで、どうしても以下のエラーがでます(エラーというよりエラーメッセージ?)。
ちなみに、manager にはつながりました。
Aipoへのアクセスが集中し、ページを表示しにくい状態です。
なんかデーターベース関係のエラーなので、ログをデータベースの頭の部分でcat grep
しました。
cat aipo.log | grep org000
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'org0000006' 2017-12-20 14:59:34,246 <ERROR> (http-bio-8080-exec-8) [JetspeedLogger.java:146]- [org0000006] 管理者ロールが存在しません。 2017-12-20 14:59:34,248 <ERROR> (http-bio-8080-exec-8) [JetspeedLogger.java:157]- [org0000006] ALEipUtils.isAdmin
ただ、MySQLに接続して確認したのですが、 データベースに存在するのは org0000007 からです。 一方、manager で確認した所、org0000006まではありました。 みてみると、今までエラーが起きてた部分はorg0000006までを生成していて、 存在しないスキーマをチェックしようとしていたそうです。 ということは、次にもう一度登録のプロセスを進めれば org0000007 が作られ、 かつ org0000007 はデータベースに存在するので、問題は起きないはずです。 結果として、問題は起きずに「セッションのタイムアウト」は解消されました。
結論としては、 セッションのタイムアウトが起きた際は、managerで表示されているスキーマがデータベースにあることを確認する必要があるようです。 気になったのは、なぜmanagerで表示されるスキーマと実際にあるスキーマがずれたのか、という点です。 結局わからず終いなので、もし原因がわかれば追記いたします。